【发布时间】:2016-04-21 15:18:14
【问题描述】:
我有一个初始化我的谷歌地图的函数,并且在该函数中它调用另一个函数,该函数与地理编码器一起用于设置一些标记。我在第二个函数中创建标记。
为什么在第二个函数中我可以 alert(marker.getPosition()) 并获得一个 latlng 值。但是,如果我确实返回 marker.getPosition() 然后警告该函数的返回值它显示为未定义?
示例代码:
function initMap() {
//Defined Map/Geocoder
//Defined Array of addresses
for (var i = 0; i < address.length; i++) {
alert(geocodeAddress(address[i], geocoder, map)); //Alert shows undefined
}
}
function geocodeAddress(address, geocoder, resultsMap) {
geocoder.geocode({'address': address}, function(results, status) {
if (status === google.maps.GeocoderStatus.OK) {
var marker = new google.maps.Marker({
map: resultsMap,
position: results[0].geometry.location
});
alert(maker.getPosition()); //Displays latlng data
return marker.getPosition();
}
});
}
【问题讨论】:
标签: javascript google-maps google-maps-api-3