v3 複数のマーカーから任意の吹出しを最初に表示するには?

411 views
Skip to first unread message

TK

unread,
Apr 5, 2010, 12:38:34 PM4/5/10
to Google-Maps-API-Japan

Google map v3 に関しての質問です。

util.jsを使いxmlを読み込んで、複数のマーカーを表示しています。
そこから任意の吹出しを表示する方法が分かりません。

以下のコードでは、data.xmlの最後のマーカーの吹出しがロード時に表示されますが
任意(myLatlng)のマーカー(data.xmlに含まれています)の吹出しを最初に表示したいのです。

お教えいただけますと幸いです。

<script type="text/javascript" src="util.js"></script>
<script type="text/javascript">
var infowindow;
var map;

function initialize() {
var myLatlng = new google.maps.LatLng(number, number);
var myOptions = {
zoom: 13,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
downloadUrl("data.xml", function(data) {
var markers =
data.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var latlng = new
google.maps.LatLng(parseFloat(markers[i].getAttribute("lat")),

parseFloat(markers[i].getAttribute("lng")));
var marker = createMarker(markers[i].getAttribute("name"),
latlng);
}
});
}

function createMarker(name, latlng) {
var marker = new google.maps.Marker({position: latlng, map: map,
title: name});
google.maps.event.addListener(marker, "click", function() {
if (infowindow) infowindow.close();
infowindow = new google.maps.InfoWindow({content: name});
infowindow.open(map, marker);
});
google.maps.event.trigger(marker,"click");
return marker;
}

</script>

TK

unread,
Apr 9, 2010, 9:17:44 AM4/9/10
to Google-Maps-API-Japan
自己レスです。

"downloadUrl" の前に以下コードを置くことで実現できました。

var infowindow2 = new google.maps.InfoWindow(
{content: "",
position: myLatlng
});
infowindow2.open(map);

Reply all
Reply to author
Forward
0 new messages