谷歌地图地点自动填充缺失几何图形

问题描述:

谷歌地图地图自动补全功能无法按预期工作。谷歌地图地点自动填充缺失几何图形

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

当插入地图中的搜索字符串(如“ZKM”),它将给在下拉列表中的一些建议。在这种情况下,它将是“ZKM | ZentrumfürKunst und Medientechnologie Karlsruhe,Lorenzstraße,Karlsruhe,Deutschland”。点击此项目时,地图上不会放置任何标记!

但是当搜索“卡尔斯鲁厄”并点击第一个搜索结果“Karlsruhe,Deutschland”时,标记被正确放置。

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

var place = autocomplete.getPlace(); 

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

有没有解决这个问题的方法?

+0

想知道太多而与Places API的早期玩。许多典型的地方都无法通过_nearbysearch_找到。所以,你并不孤单。 – individual8 2015-02-16 21:31:32

+1

这里报告的错误:https://code.google.com/p/gmaps-api-issues/issues/detail?id=7498 – individual8 2015-02-16 22:10:36

+0

哇。这个重要的bug如何在一个月内存在?希望他们尽快修复。 – Michael 2015-02-18 14:50:46

看起来已经固定由谷歌:)

看看函数的开头:

if (!place.geometry) { 
    return; 
} 

一个PlaceResult可以,但一定不能有geometry - 属性。

要澄清的自动完成的工作方式:

当你输入的东西,该API将请求预测(填充下拉列表)。只有当您从下拉列表中选择一个地方时,它才会请求特定地点的数据(包括几何图形)。

很明显,所用数据存在不一致(API不应该提供一个没有信息可访问的地方),但事实就是这样,可能会发生无法预测的情况。

解决方法:据我所知没有

+0

这是正确的,但是当去https://www.google.de/maps时它工作正常。当你写“ZKM”时,它建议同一个地方,并设置一个标记。所以必须有一个工作解决方案。 – Michael 2015-01-27 12:32:47

+0

为什么必须有解决方案? google.de不是maps-API的实现。可能有例如数据所有者为Google.de授予访问权限的地方,但地图API的用户也没有授予访问权限。 – 2015-01-27 20:52:48

+1

那很奇怪。在使用地理编码API时,找到“ZKM”位置并包含经度和纬度:http://maps.googleapis.com/maps/api/geocode/xml?address=zkm因此,一种解决方法是使用地理编码API并创建一个自己的自动完成组件。但我希望有一个更简单的方法...任何想法? – Michael 2015-01-29 10:23:07