簡體   English   中英

使用Google Places API獲取經過距離過濾的附近地點

[英]Get distance filtered nearby places using google places api

嗨,我正在開發一個小型的Android應用程序,其中我正在使用Google Places API顯示附近的地方。 我嘗試了以下請求:

 https://maps.googleapis.com/maps/api/place/nearbysearch/json?rankBy=distance&radius=5000&location=19.107991%2C73.001277&key=API_KEY_VAL&type=school

因此,以上要求返回附近的學校,但這些學校沒有按距離排序。 我嘗試了另一個請求:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?rankby=distance&location=19.107991%2C73.001277&key=API_KEY_VAL&type=school

以上要求給了我距離排序的結果,但是在那種情況下我不能使用radius參數。

同樣,我在這兩個請求中都面臨一些挑戰。 在第一個請求中,它還給我一些5公里以內的學校。 在第二個請求中,它將返回我附近的學校。 如果我同時檢查了這兩個結果,則請求中不存在以半徑為參數的附近的一些學校。

我的預期輸出需要在5公里半徑范圍內的附近學校進行排序。 在上述要求中有做錯什么嗎? 需要一些幫助。 謝謝。

關於rankby和radius參數的文檔非常清楚:

radius —定義返回位置結果的距離(以米為單位)。 允許的最大半徑為50000米。 請注意, 如果指定了rankby = distance (在下面的可選參數中描述),則不得包含 半徑

rankby-指定結果列出的順序。 請注意,如果指定了半徑 (在上面的“必需”參數下進行了描述), 必須不包括rankby

https://developers.google.com/places/web-service/search#PlaceSearchRequests

因此,無法將radius參數與rankby=distance結合使用。

示例中的第一個請求將忽略rankBy (它也區分大小寫),因此在5 km半徑范圍內可獲得顯着的結果。 在這種情況下,可能會忽略不太明顯但接近的結果。

解決方法可能是按距離排序結果,並過濾掉location與位置坐標之間的距離大於5000米的所有位置。

暫無
暫無

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

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