【发布时间】:2012-01-17 12:20:19
【问题描述】:
我有这段代码试图在谷歌地图中定位一组标记:
for(var i = 0; i < postcodes.length; i++) {
var address = postcodes[i].innerHTML +", uk";
geocoder.geocode({'address': address}, function(results, status){
if (status == google.maps.GeocoderStatus.OK) {
var marker = new google.maps.Marker({
position: results[i].geometry.location,
map: map,
icon: image,
});
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
但是,这在我尝试设置位置时返回未定义。如果我在 results[#] 中使用数字 (0) 而不是变量 i ,它可以正常工作,但我无法遍历结果。有没有人遇到过这个问题?
谢谢,
【问题讨论】:
-
results[i] 是什么未定义?
-
@kmkemp:是的,具体来说:
Uncaught TypeError: Cannot read property 'geometry' of undefined。 -
看kjy112在这个链接的回答:stackoverflow.com/questions/5292060/…
标签: javascript google-maps google-maps-api-3 geocoding google-maps-markers