Google地图位置自动填充缺少的几何图形

问题描述 投票:3回答:3

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();

该地方应包含一个对象“几何”,但它不包含。

这个问题有解决方法吗?

javascript google-maps autocomplete
3个回答
3
投票

看看函数的开头:

if (!place.geometry) {
  return;
}

一个PlaceResult可能,但必须没有geometry属性。

澄清自动完成的工作原理:

当您键入内容时,API将请求预测(填充下拉列表)。只有当您从下拉列表中选择一个位置时,它才会请求特定位置的数据(包括几何图形)。

显然,所使用的数据存在不一致性(API不应该建议没有信息可访问的地方),但就是这样,可能会发生没有地点的预测。

解决方法:AFAIK没有


1
投票

看起来它已被谷歌修复:)


0
投票

请确保在自动完成中设置'几何'字段,如下所示:

autocomplete.setFields(['address_component', 'geometry']);

© www.soinside.com 2019 - 2024. All rights reserved.