這是簡單的我很確定,但我是新來的很多代碼在這裏。谷歌地圖API和標記陣列的問題
我有這樣的代碼:
function initMap() {
var myOptions = {
center: new google.maps.LatLng(52.0209079,-0.751136),
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map"), myOptions);
var addressArray = ["mk4 1eh","mk4 4fy","mk8 0er"];
var geocoder = new google.maps.Geocoder();
var markerBounds = new google.maps.LatLngBounds();
for (var i = 0; i < addressArray.length; i++) {
var postcode = addressArray[i]
geocoder.geocode({ 'address': addressArray[i] }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var marker = new google.maps.Marker({
map: map,
title: postcode,
position: results[0].geometry.location
});
markerBounds.extend(results[0].geometry.location);
map.fitBounds(markerBounds);
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
}
這應該大地定位在addressArray
三個郵政編碼(郵政編碼),然後用標題在地圖上顯示出來。
如果我使用一個常數指數即var postcode = addressArray[0]
那麼每個地圖標記得到mk41eh的相同的標題,就像我期望我在與線15 var postcode = addressArray[i]
問題。
問題是如果我使用索引,那麼所有標記最終都會被標記爲數組中的最後一項(在本例中爲mk8 0er)。
我敢肯定,解決方案是盲目明顯,但我迷路了。
任何幫助將是非常讚賞。
感謝
史蒂夫
可能的重複[將地理編碼結果保存到數組中 - Closure Trouble](http://stackoverflow.com/questions/13067403/saving-geocoder-results-to-an-array-closure-trouble) – geocodezip
可能的重複項[Google地圖包含多個地理編碼位置和點擊提醒](http://stackoverflow.com/questions/29195868/google-maps-with-multiple-geocode-locations-and-alerts-on-click) – geocodezip