Google 地图地点自动补全缺失的几何图形
Google Maps Places Autocomplete missing geometry
Google 地图地点自动完成功能不再按预期工作。
https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete
在地图中插入搜索字符串时(例如"ZKM"),它会在下拉列表中给出一些建议。在这种情况下,它将是 "ZKM | Zentrum für Kunst und Medientechnologie Karlsruhe, Lorenzstraße, Karlsruhe, Deutschland"。单击此项目时,地图上不会放置任何标记!
但是当搜索 "Karlsruhe" 并单击第一个搜索结果 "Karlsruhe, Deutschland" 时,标记放置正确。
在代码中调用了一个名为 getPlace() 的函数。
var place = autocomplete.getPlace();
该地点应该包含一个对象 "geometry",但它没有。
这个问题有解决办法吗?
看看函数的开头:
if (!place.geometry) {
return;
}
一个 PlaceResult
可以,但不能有一个 geometry
-属性.
阐明自动完成的工作原理:
当您键入内容时,API 将请求预测(以填充下拉列表)。只有当您 select 从下拉列表中选择一个地点时,它才会请求特定地点的数据(包括几何图形)。
显然使用的数据存在不一致(API不应该建议一个没有信息可访问的地方),但就是这样,你可能会得到一个没有地方的预测.
解决方法:AFAIK 否
看起来它已被 Google 修复:)
请确保在自动完成中设置 'geometry' 字段,如下所示:
autocomplete.setFields(['address_component', 'geometry']);
是的,该地点包含对象“几何”。
要找到这个,您应该使用这个:
autocomplete.getPlace().geometry.location.lat() //for the latitude
autocomplete.getPlace().geometry.location.lng() //for the longitude
Google 地图地点自动完成功能不再按预期工作。
https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete
在地图中插入搜索字符串时(例如"ZKM"),它会在下拉列表中给出一些建议。在这种情况下,它将是 "ZKM | Zentrum für Kunst und Medientechnologie Karlsruhe, Lorenzstraße, Karlsruhe, Deutschland"。单击此项目时,地图上不会放置任何标记!
但是当搜索 "Karlsruhe" 并单击第一个搜索结果 "Karlsruhe, Deutschland" 时,标记放置正确。
在代码中调用了一个名为 getPlace() 的函数。
var place = autocomplete.getPlace();
该地点应该包含一个对象 "geometry",但它没有。
这个问题有解决办法吗?
看看函数的开头:
if (!place.geometry) {
return;
}
一个 PlaceResult
可以,但不能有一个 geometry
-属性.
阐明自动完成的工作原理:
当您键入内容时,API 将请求预测(以填充下拉列表)。只有当您 select 从下拉列表中选择一个地点时,它才会请求特定地点的数据(包括几何图形)。
显然使用的数据存在不一致(API不应该建议一个没有信息可访问的地方),但就是这样,你可能会得到一个没有地方的预测.
解决方法:AFAIK 否
看起来它已被 Google 修复:)
请确保在自动完成中设置 'geometry' 字段,如下所示:
autocomplete.setFields(['address_component', 'geometry']);
是的,该地点包含对象“几何”。
要找到这个,您应该使用这个:
autocomplete.getPlace().geometry.location.lat() //for the latitude
autocomplete.getPlace().geometry.location.lng() //for the longitude