Google Maps Places自动完成功能无法按预期运行。

https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete

在 map 中插入搜索字符串(例如“ZKM”)时,它将在下拉列表中提供一些建议。在这种情况下,它将是“ZKM |德国卡尔斯鲁厄的ZentrumfürKunst和Medientechnologielogie”。单击此项目时,不会在 map 上放置任何标记!

但是,当搜索“Karlsruhe”并单击第一个搜索结果“Karlsruhe,Deutschland”时,标记将正确放置。

在代码中,调用了一个名为getPlace()的函数。

var place = autocomplete.getPlace();

该地点应包含一个对象“几何体”,但没有。

有没有解决此问题的方法?

最佳答案

看一下函数的开头:

if (!place.geometry) {
  return;
}
PlaceResult可以但必须不具有geometry属性。

要阐明自动填充的工作原理,请执行以下操作:

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

显然,所使用的数据存在不一致(API不应建议无法访问任何信息的地方),但是事实就是如此,您可能会在没有地方的情况下获得预测。

解决方法:AFAIK否

关于javascript - Google Maps Places自动填充缺少的几何,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28159392/

10-14 18:27