簡體   English   中英

Google Maps Places 自動補全缺失的幾何圖形

[英]Google Maps Places Autocomplete missing geometry

Google Maps Places Autocomplete 不再按預期工作。

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

當在 map 中插入搜索字符串時(例如“ZKM”),它會在下拉列表中給出一些建議。 在這種情況下,它將是“ZKM | Zentrum für Kunst und Medientechnologie Karlsruhe, Lorenzstraße, Karlsruhe, Deutschland”。 單擊此項目時,地圖上不會放置任何標記!

但是當搜索“Karlsruhe”並點擊第一個搜索結果“Karlsruhe, Deutschland”時,標記被正確放置。

在代碼中調用了一個名為 getPlace() 的 function。

var place = autocomplete.getPlace();

這個地方應該包含一個 object “幾何”,但它沒有。

這個問題有什么解決方法嗎?

看看函數的開頭:

if (!place.geometry) {
  return;
}

PlaceResult可以,但不能具有geometry屬性。

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

當您鍵入內容時,API將請求預測(填充下拉列表)。 只有當您從下拉列表中選擇一個位置時,它才會請求特定位置的數據(包括幾何圖形)。

顯然,所使用的數據存在不一致性(API不應該建議沒有信息可訪問的地方),但就是這樣,可能會發生沒有地點的預測。

解決方法:AFAIK沒有

看起來它已被谷歌修復:)

請確保在自動完成中設置'幾何'字段,如下所示:

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

是的,這個地方包含一個 object “幾何”。

要找到這個,你應該使用這個:

autocomplete.getPlace().geometry.location.lat() //for the latitude
autocomplete.getPlace().geometry.location.lng() //for the longitude

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM