2017-07-03 109 views
-1

我有一個簡單的應用程序,其中用戶在起點和終點填充(與谷歌的地方自動完成),然後用方向服務,我借鑑谷歌地圖的路線。 我可以計算出所需的這條路線的氣,過路費,司機一定要等谷歌的地方自動完成獲得地方型

其工作的罰款至今。

現在我要檢查,如果起點或終點是(我假設我要檢查的地方型)機場,我不知道如何來實現這一目標。

我知道的地方自動完成對象包含地方型,我想知道,如果從自動完成選擇時,我可以把信息傳給隱藏字段的地方類型,然後檢查是否是合適的類型。 (或任何其它更合適的溶液)

回答

1

代替自動填充的預測可能會有點混亂。我們來看看下面的例子。我想找個'機場酒店薩爾瓦多寶勒巴薩

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=aeroport%20El%20Prat%20Barcelona&key=YOUR_API_KEY

第一預測有一個文本Aeroport, El Prat de Llobregat, Barcelona, Spain與地方編號ChIJO46GD4eepBIRIn5B25NbcNQ。乍一看,這似乎是機場,但是當你在響應查詢的類型,你可以看到

"types":[ 
    "transit_station","point_of_interest","establishment","geocode" 
] 

所以這不是一個機場,但如在下面的截圖火車站,靠近機場。

enter image description here

在這一點上,它看起來就像你不能對自動完成設置有類型依靠100%,因爲你可以得到的東西非常接近,共享的「機場」像火車站或汽車站機場名字。

作爲一種解決辦法,我建議用地方API附近搜索檢查是否有協調通過自動完成返回任何機場關閉。但是,這需要兩個額外的步驟:

  1. 解決地方ID進行協調。例如。 https://maps.googleapis.com/maps/api/geocode/json?place_id=ChIJO46GD4eepBIRIn5B25NbcNQ&key=YOUR_API_KEY將返回41.3042622,2.0733891

  2. 使用附近搜索,以找出是否有在半徑的機場,例如500米https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=41.3042622%2C2.0733891&radius=500&type=airport&key=YOUR_API_KEY

最後一個請求返回機場作爲顯示在下面的屏幕截圖

enter image description here

相關問題