GMaps JS Geocode: Używanie / przekazywanie zmiennych z funkcją asynchronicznego geokodu?
Mam listę obiektów lokalizacji na tablicy i używam niektórych z nich do zbudowania pełnego adresu, a następnie geokodowania tego. Po otrzymaniu statusu OK umieszczam znacznik na mapie. To wszystko działa dobrze. Jednak teraz chciałbym także umieścić okno informacyjne na każdym znaczniku z inną właściwością z mojej listy tablicowej, LocationName. Kod jest tutaj:
<code>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); } }); } } </code>
Alert polega po prostu na sprawdzeniu, gdzie znajduje się nazwa_lokacji, gdy otrzymam ten status OK. Ale w testowaniu jest to zawsze ta sama wartość. Gdy tylko będę mógł dostosować to ustawienie, aby za każdym razem odzwierciedlać właściwą wartość, mam kod ustawiony w linii, aby umieścić okna informacyjne na znaczniku.
Każda pomoc byłaby bardzo mile widziana!