我正在测试Google地方信息自动填充功能:
https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete
我想得到这个地方的经纬度,但我遇到了一些麻烦。当我使用以下代码时:
var place = autocomplete.getPlace();
console.log(place.geometry.location);
我得到了这个:
当我在这样的infoWindow中使用它时:
infowindow.setContent('
<div><strong>' + place.name + '</strong><br>' + place.geometry.location);
place.geometry.location
然后显示如下:
(53.539834,-113.49402099999998)
我想做的就是分别拿到lat和lng。 place.geometry.location.lat
不起作用。不知道还能做什么。
答案 0 :(得分:87)
你可以这样使用。
var latitude = place.geometry.location.lat();
var longitude = place.geometry.location.lng();
答案 1 :(得分:2)
您可以使用:
var LatLng = place.geometry.location.toJSON();
答案 2 :(得分:1)
这对我来说很好。
marker.setIcon(image);
marker.setPosition(place.geometry.location);
var address = '';
if (place.address_components) {
address = [
(place.address_components[0] && place.address_components[0].short_name || ''),
(place.address_components[1] && place.address_components[1].short_name || ''),
(place.address_components[2] && place.address_components[2].short_name || '')
].join(' ');
}
alert(place.geometry.location.lat());
alert(place.geometry.location.lng());
infowindow.setContent('<div><strong>' + place.name + '</strong><br>' + address);
infowindow.open(map, marker);
答案 3 :(得分:0)
您可以从 PLACES 对象获得 LAT 和 LONG 。
赞:
const autocomplete = new google.maps.places.Autocomplete(this.inputNativeElement.nativeElement as HTMLInputElement);
autocomplete.addListener('place_changed', () => {
const place = autocomplete.getPlace();
let cus_location = {
lat: place.geometry.location.lat(),
long: place.geometry.location.lng()
}
}