我正在使用 Google 地图的自动完成功能进行地理编码。它似乎返回了很多数据,但没有经度/纬度信息。有没有办法获取这些信息?我想将它传回我的后端应用程序进行进一步处理。
我正在使用 Google 地图的自动完成功能进行地理编码。它似乎返回了很多数据,但没有经度/纬度信息。有没有办法获取这些信息?我想将它传回我的后端应用程序进行进一步处理。
在几何对象的原型上存在名为lat()和lng()的方法,因此要获取值,只需使用以下代码:
var place = autocomplete.getPlace();
var lat = place.geometry.location.lat(),
lng = place.geometry.location.lng();
// Then do whatever you want with them
console.log(lat);
console.log(lng);
console.warn('Warning: I didn\'t test this code!');
status
字段将具有字符串值OVER_QUERY_LIMIT。您可以在此处阅读有关限制的信息:https://developers.google.com/places/web-service/usage - Brent Barbata好的,我不熟悉Places或Autocomplete。但是看起来你需要的是:
autocomplete.getPlace().geometry.location
为了演示,我使用了这个例子,并添加了上面的代码行,在这个 JSFiddle中你可以输入地点名称,当地点被选择后,将创建带有LatLng的信息窗口。google.maps.event.addListener(autocomplete, 'place_changed', function() {
infowindow.close();
var place = autocomplete.getPlace();
...
infowindow.setContent('<div><strong>' + place.name +
'</strong><br>' + address + "<br>" + place.geometry.location);
autocomplete.getPlace().geometry.location
,您可以访问autocomplete.getPlace().geometry.location.lat()
和autocomplete.getPlace().geometry.location.lng()
。 - gdvalderramasetFields
时,需要包括'geometry'
。请注意,更多的字段可能会增加成本。// Avoid paying for data that you don't need by restricting the set of
// place fields that are returned to just the address components.
autocomplete.setFields(['address_component', 'geometry']);