Google地图位置自动填充功能不再按预期工作。
https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete
在地图中插入搜索字符串时(例如“ZKM”),它会在下拉列表中提供一些建议。在这种情况下,它将是“ZKM |ZentrumfürKunstund Medientechnologie Karlsruhe,Lorenzstraße,Karlsruhe,Deutschland”。点击此项目时,地图上不会放置任何标记!
但是当搜索“卡尔斯鲁厄”并点击第一个搜索结果“卡尔斯鲁厄,德国”时,标记就会被正确放置。
在代码中,调用了一个名为getPlace()的函数。
var place = autocomplete.getPlace();
该地方应该包含一个对象“几何”,但它不包含。
此问题是否有解决方法?
答案 0 :(得分:2)
看一下函数的开头:
if (!place.geometry) {
return;
}
PlaceResult
可以,但不得有geometry
- 属性。
阐明自动填充的工作原理:
当您输入内容时,API会请求预测(填充下拉列表)。只有当您从下拉列表中选择一个位置时,它才会请求特定位置的数据(包括几何图形)。
显然,所使用的数据存在不一致之处(API不应该建议一个没有信息可以访问的地方),但是它是怎么回事,可能会发生没有地方的预测
解决方法:AFAIK否
答案 1 :(得分:1)
看起来它已被Google修复:)
答案 2 :(得分:0)
请确保您在自动填充中设置“ geometry”字段,如下所示:
autocomplete.setFields(['address_component', 'geometry']);