位置オブジェクトの配列リストがあり、そのうちのいくつかを使用して完全な住所を作成し、それをジオコーディングしています。OK ステータスを受け取ったら、マップ上にマーカーを配置します。これはすべてうまくいきます。ただし、ここでは、配列リスト LocationName の別のプロパティを使用して、各マーカーに情報ウィンドウを配置したいと考えています。コードはここにあります:
function placeMarkers(myObjList){
var geocoder = new google.maps.Geocoder();
for(var i=0; i<myObjList.length; i++){
var fullAddress = myObjList[i].Address + ", " + myObjList[i].City + ", " + myObjList[i].State + ", " + myObjList[i].Zip;
/* The variable I would like to have access to in the geocode call */
var locationName = myObjList[i].LocationName;
geocoder.geocode( { 'address': fullAddress}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
alert(locationName);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location,
clickable: true
});
markers.push(marker);
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
}
アラートは、ステータスが OK になったときに locationName が何であるかを確認することです。しかし、テストでは常に同じ値です。毎回正しい値を反映するようにこれを調整できたら、情報ウィンドウをマーカーに配置するコードを並べます。
どんな助けでも大歓迎です!