我使用的是Google Maps JavaScript API v3
以下代码几乎直接来自Google示例代码,但我遇到了一个奇怪的问题。结果[0] .geometry.location有键" k"和" D"而不是" lat"和" lng"。
知道为什么会这样吗?
mapui.geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
console.log(results[0]);
var lat = results[0].geometry.location['lat'];
var lng = results[0].geometry.location['lng'];
}
})
答案 0 :(得分:4)
您必须使用lat()
和lng()
功能。 geometry.location
是LatLng
类。
var lat = results[0].geometry.location.lat();
var lng = results[0].geometry.location.lng();
https://developers.google.com/maps/documentation/javascript/reference#GeocoderGeometry https://developers.google.com/maps/documentation/javascript/reference#LatLng
在javascript控制台中查看__proto__
,您会找到可用的方法。