著作権表示付きのカスタムマップを作成する

説明

ここでは新しくマップタイプを追加し、カスタムマップを表示できるようにします。カスタムマップで使用する画像の処理や表示に関しては前項目を参照してください。
まず、著作権表示の処理を行います。Google Mapsではエリアごとに著作権の指定を行うことができます。著作権データはnew GCopyright()により生成します。続きは書籍で、どうぞ...
逆引きGoogle Maps APIリファレンス  詳しい解説などは逆引きGoogle Maps APIリファレンス、またはGoogle Maps APIリファレンスを参照してください。

サンプルコード [実行]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Sample</title>
<script src="http://maps.google.com/maps?file=api&amp;v=2.61&amp;key=ABQIAAAAasAJryKxWJnBFVJa487d9hTHGAxTVT7IRADYa-JdYz7xQ8IQZBSthgDZdggYpQHsmm6WYtHstQFfLA" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
window.onload = function() {
var copyright = new GCopyright(1, new GLatLngBounds(new GLatLng(-180, -180), new GLatLng(180, 180)), 0, "古籏一浩");
var copyrightCollection = new GCopyrightCollection("OpenSpace : ");
copyrightCollection.addCopyright(copyright);

var myLayer = [new GTileLayer(copyrightCollection,0,17)];
myLayer[0].getTileUrl = function(tile, zoom) {
var filename = zoom+"/"+tile.x+","+tile.y+".jpg";
return filename;
};
myLayer[0].getOpacity = function() { return 1;};
var starMap = new GMapType(myLayer, G_NORMAL_MAP.getProjection(), "カミラス星");

var map = new GMap2(document.getElementById("gmap"));
map.addMapType(starMap);
map.setCenter(new GLatLng(36, 137), 0);
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
}
//]]>
</script>
<div id="gmap" style="width: 500px; height: 400px"></div>
</body>
</html>