[英]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.