google map api v3(javascript)を使用してジオコーダーを実装しています。複数のマーカーを配置しています。マーカーをクリックすると、対応するアドレスが情報ウィンドウに表示されます。しかし、マーカーをクリックすると、最初はアドレスのデフォルト値(コードGeo-Address Unavailable!による)が表示され、2番目のマーカーをクリックすると、前にクリックしたマーカーのアドレスが表示されます。コードを添付しています。
var addr=" Geo-Address Unavailable!";
var geocoder = new google.maps.Geocoder();
for(var i = 0; i < latLngs.length-1; i++){ //latLngs is the array of latlongs
marker = new google.maps.Marker({
position: latlng,
id:markerId,
icon: image,
map: map,
animation : google.maps.Animation.DROP,
});
}
markers[markerId] = marker;
var infowindow = new google.maps.InfoWindow({
content: "loading..."
});
google.maps.event.addListener(marker, "click", function () {
geocoder.geocode({'latLng': this.getPosition()}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
addr = results[0].formatted_address;
}
});
infowindow.setContent(addr);
infowindow.open(map, this);
});