﻿      // ===== It has one tile layer =====
     var tilelayers = [new GTileLayer(new GCopyrightCollection("英賀奉賛絵図:英賀神社"),2,4)];
      tilelayers[0].getCopyright = function(a,b) {
        return {prefix:"英賀奉賛絵図: ", copyrightTexts:["英賀神社"]};
      }

      tilelayers[0].getTileUrl = function (a,b) {
      	var c=Math.pow(2,b);

        var d=a.x;
        var e=a.y;
        var f="t";
        for(var g=0;g<b;g++){
            c=c/2;
            if(e<c){
                if(d<c){f+="q"}
                else{f+="r";d-=c}
            }
            else{
                if(d<c){f+="t";e-=c}
                else{f+="s";d-=c;e-=c}
            }
        }      	  
      	  
      	  
        //return "http://informarc.freehostia.com/custommap/img/tilez"+b+"_"+(a.y+1)+"x"+(a.x+1)+".jpg";  // ===== つまり各タイル画像は tilez3_8x1.jpg といった名称（256x256ピクセル） =====
	return "image/c_map/"+f+".jpg";
      } ;

      // ====== Create the MapType ==============
      var custommap = new GMapType(tilelayers, new GMercatorProjection(5), "等高線",{errorMessage:"写真がありません。"});
     // GMercatorProjection.prototype.tileCheckRange = function(tile, zoom, tilesize) {
     //   var maxTile = Math.floor(this.getWrapWidth(zoom) / tilesize);
     //    if (tile.x < 0 || tile.x >= maxTile || tile.y < 0 || tile.y >=maxTile) {
	 //         return false;
     //     }
     //   return true
     // } 


var map = new GMap(document.getElementById("map"),{mapTypes:[custommap]});
map.addControl(new GLargeMapControl());
map.addMapType(custommap);
//地図のセンターの位置調整　１Ｆの中心あたりに
map.setCenter(new GLatLng(0.960036,0.171875), 2, custommap);

var icon = new GIcon();
icon.iconSize = new GSize(32, 32);
//icon.shadowSize = new GSize(32, 32);
icon.iconAnchor = new GPoint(9, 34);
icon.infoWindowAnchor = new GPoint(9, 2);
//icon.infoShadowAnchor = new GPoint(18, 25);

function createMarker(point, text, type) {
	
if(type == "FOOD"){ icon.image = "image/marker/icon01.png"; }
if(type == "FASHION"){ icon.image = "image/marker/icon02.png"; }
if(type == "GOURMET"){ icon.image = "image/marker/icon03.png"; }
if(type == "SERVICE"){ icon.image = "image/marker/icon04.png"; }



    var marker = new GMarker(point, icon);
	var html = "<div class=\"info\">" + text + "</div>";    
    GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html);
    });


return marker;
}

var request = GXmlHttp.create();
request.open("GET", "c_mark.xml", true);
request.onreadystatechange = function() {
if (request.readyState == 4) {
var xmlDoc = request.responseXML;
var markers = xmlDoc.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var point = new GPoint(parseFloat(markers[i].getAttribute("lng")),parseFloat(markers[i].getAttribute("lat")));
var marker = createMarker(point, markers[i].firstChild.nodeValue, markers[i].getAttribute("type") );
map.addOverlay(marker);
}
}
}
request.send(null);



//座標取得
	var pos = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(200, 8));
	pos.apply(document.getElementById("control"));
	map.getContainer().appendChild(document.getElementById("control"));
	var point2 = new GLatLng(5.0,5.0);
	var marker2 = new GMarker(point2, {icon:G_DEFAULT_ICON, draggable: true, bounceGravity:1});
	map.addOverlay(marker2);
	marker2.enableDragging();
	GEvent.addListener(marker2, "drag", function(){
	  document.getElementById("location").value=marker2.getPoint().toUrlValue();
	});
	GEvent.addListener(marker2, "click", function(){
	  marker2.openInfoWindowHtml("このマーカーをドラッグ＆ドロップしてください<br>左上に 座標が現れます");//
	});
