Google Maps API と情報ウィンドウに関する問題に取り組んでいます。マーカーをクリックすると、情報ウィンドウがポップアップし、そのときにそのマーカーの緯度/経度が情報ウィンドウに表示されるようにしようとしています。この場合の緯度/経度は、stops 配列に格納されています。
<script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?sensor=false">
</script>
<script type="text/javascript">
var map;
var marker;
var infowindow; //Global infowindow created
function initialize() {
var latlng = new google.maps.LatLng(37.784, -122.408);
var stops = new Array();
stops = [
new google.maps.LatLng(37.7655, -122.4525899),
new google.maps.LatLng(37.7649999, -122.45656),
new google.maps.LatLng(37.7643, -122.4608199),
];
var myOptions = {
zoom: 10,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: new google.maps.LatLng(37.7655, -122.4525899)
};
map = new google.maps.Map(document.getElementById("content"),
myOptions);
infowindow = new google.maps.InfoWindow({ //infowindow options set
maxWidth: 355
});
var i = 0;
for (i < 0; i < stops.length; i++) {
marker = new google.maps.Marker({
position:stops[i],
map: map,
title: "Stop Coords: "+ stops[i]
});
var len=stops.length;
popupDirections(marker, len, stops);
}
}
function popupDirections(marker, len,stops) {
//this function created listener listens for click on a marker
google.maps.event.addListener(marker, 'click', function () {
for (var i = 0; i < len; i++)
{ infowindow.setContent("Stop coords: " + stops[i]); } //sets the content of your global infowindow to string "Tests: "
infowindow.open(map, marker); //then opens the infowindow at the marker
});
}
ここで、マウスを各マーカーの上に置くと正しい緯度/経度が表示されますが、マーカーをクリックして情報ウィンドウがポップアップすると、停車地の緯度/経度が表示され続けます[2]。何が問題なのかわかりません。私の JS に関する知識はかなり限られています。幸運なことに、情報ウィンドウの作成方法を示した役立つ投稿を以前に見つけました。