2015-01-26 83 views
2

谷歌地圖地圖自動補全功能無法按預期工作。谷歌地圖地點自動填充缺失幾何圖形

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

回答

0

看起來已經固定由谷歌:)

1

看看函數的開頭:

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