我一直在浏览google maps api的第3版,我已经整理了一个小脚本来对地址进行地理编码。问题是我想看看如果我可以提取lat lng而不必'split()'结果。
function getLatLng() {
var geocoder = new google.maps.Geocoder();
var query = "12 henry street, dublin 1, dublin, ireland";
var address = query;
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var latLng = results[0].geometry.location;
alert('Geocode succesful ' + latLng);
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
我想从var latLng
获取lat和lng。
可以在不调用latLng.split(',');?
非常感谢你的帮助
答案 0 :(得分:9)
切勿使用API公开的内部变量。他们可以并且确实在发布之间进行了更改。始终使用记录的方法。
results[0].geometry.location
是LatLng
对象,因此请使用相关方法:
var lat=results[0].geometry.location.lat();
var lng=results[0].geometry.location.lng();
答案 1 :(得分:1)
您可以使用:
var lat= results[0].geometry.location.lat();
var lng= results[0].geometry.location.lng();
alert(lat);
alert(lng);