var map;
var mapVars = [];
var shopdata = "";
var thisLat = "";
var thisLng = "";
var marker_list = [];
function load(){
shopdata = "
";
map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(, ), 15);
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
// JSON形式のファイルをダウンロードする
GDownloadUrl("../makejsondata.php?latitude="+map.getCenter().y+"&longitude="+map.getCenter().x, function(doc, stat){
//JSON形式はそのままJavaScriptオブジェクトとして扱える
eval("loaddata=" + doc);
//ループで地図上にマーカーを配置する
for (var i = 0; i < loaddata.data.length; i++) {
var marker = makeMarker(
loaddata.data[i].lat,
loaddata.data[i].lng,
loaddata.data[i].name,
loaddata.data[i].id
);
map.addOverlay(marker);
shopdata = shopdata + "- "+loaddata.data[i].name + "
";
}
shopdata = shopdata + "
";
document.getElementById("shoplist").innerHTML=shopdata;
thisLat = map.getCenter().y;
thisLng = map.getCenter().x;
});
//地図が移動したら、中心座標を取得
GEvent.addListener(map, "moveend", function(none) {
mapVars.center = map.getCenter();
thisLat = map.getCenter().y;
thisLng = map.getCenter().x;
});
}
function load2(){
removeMarkers();
shopdata = "";
shopdata = "";
map.setCenter(new GLatLng(thisLat, thisLng), 15);
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
// JSON形式のファイルをダウンロードする
GDownloadUrl("./makejsondata.php?latitude="+thisLat+"&longitude="+thisLng, function(doc, stat){
//JSON形式はそのままJavaScriptオブジェクトとして扱える
eval("loaddata=" + doc);
//ループで地図上にマーカーを配置する
for (var i = 0; i < loaddata.data.length; i++) {
var marker = makeMarker(
loaddata.data[i].lat,
loaddata.data[i].lng,
loaddata.data[i].name,
loaddata.data[i].id
);
map.addOverlay(marker);
shopdata = shopdata + "- "+loaddata.data[i].name + "
";
}
shopdata = shopdata + "
";
document.getElementById("shoplist").innerHTML=shopdata;
});
}
//マーカーを作成して返す
function makeMarker(lat, lng, name,id) {
var point = new GLatLng(lat, lng);
var marker = new GMarker(point);
// クリックしたマーカーに該当する情報を表示
GEvent.addListener(marker, "click", function(){
//マーカーにデータを保持させる方法
marker.openInfoWindowHtml(
""+name+""
);
});
marker_list.push(marker);
return marker;
}
function displayLatLng() {
//alert(mapVars.center);
document.getElementById("shoplist").innerHTML=shopdata;
}
function removeMarkers() {
//ボタンが押されたら、マーカーの配列に対して
//setMap(null)を実行し、地図から削除
marker_list.forEach(function(marker, idx) {
map.removeOverlay(marker);
});
}
//ページがロードされたら、load 関数を実行して、地図を表示する
window.onload = load;
//ページを抜けるとき、メモリ開放
window.onunload = GUnload;