GoogleMap APIマーカーマネージャーとXMLの読み込み
Google Codeのページ
http://code.google.com/intl/ja/apis/maps/documentation/overlays.html#Marker_Manager
に載っていたマーカーマネージャーを使用し、さらにGDownloadUrlでXMLを読み込んで
http://code.google.com/intl/ja/apis/maps/documentation/services.html
地図を作成しようとしております。
現在記述は以下のようになっています。
-----
var map = null;
var mgr = null;
var batch = [];
function setupMap() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(35.66332844365397,139.7321891784668),16);
map.addControl(new GLargeMapControl());
map.enableDoubleClickZoom();
window.setTimeout(setupMarkers, 0);
}
}
function getMarkers() {
GDownloadUrl("○○○.xml", createMap);
return batch;
}
function createMap(data) {
var xml = GXml.parse(data);
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var name = markers[i].getAttribute("name");
var lat = parseFloat(markers[i].getAttribute("lat"));
var lng = parseFloat(markers[i].getAttribute("lng"));
var markeropts = new Object(); markeropts.title = name;
var marker = new GMarker(new GPoint(lng,lat), markeropts);
batch.push(marker); // ※1
}
return batch;
}
function setupMarkers() {
mgr = new MarkerManager(map);
mgr.addMarkers(getMarkers(), 14);
mgr.refresh();
}
-----
いろいろと検証の結果、XMLの読み込みはうまくいっており、※1のところでbatchにはちゃんとpushされていることは確認したのですが、最終的にマーカーは表示されません。
function getMarkersが
function getMarkers() {
var batch = [];
var markeropts = new Object(); markeropts.title = "六本木";
var marker = new GMarker(new GPoint(35.66332844365397,139.7321891784668), markeropts);
batch.push(marker);
return batch;
}
の時はマーカーがちゃんと表示されたことも確認しております。
どこがおかしいのでしょうか?
また、根本的に間違っているor他にいい方法があるのであればご教示ください。
よろしくお願い致します。
お礼
相手の方も頂いたデータでよくわからないと言われたもので質問させていただきました。回答ありがとうございます・