Google マップ APIv3 を使用するアプリケーションで、ポリラインに関連付けられたマーカーをランダムに生成しようとしています。私は次のことをしました:
//Loop to add locations and draw line
var path= polyline.getPath();
for(var i=0;i<route.length;i++) //route is an array containing some latlng's
{
var marker= new google.maps.Marker({position:route[i],map:map});
path.push(route[i]);
}
//Event Listener's
google.maps.event.addListener(marker,'click',function(event)
{
iwindow.setContent("<b>Coordinates are:</b><br/>Latitude:"+event.latLng.lat()+"<br/>Longitude:"+event.latLng.lng());
//iwindow is the InfoWindow variable
iwindow.open(map,marker);
});
ここでの問題は、クリック時のマーカーが常に for ループの最後のマーカーのマーカー参照を持っていることです。したがって、最後のマーカーのみが情報ウィンドウを表示します。
マーカー クリックごとに InfoWindow が生成されるようにコードを変更するにはどうすればよいですか?