2017-02-11 63 views
0

我目前正在製作一個內置地圖的Android應用程序。我已成功添加地圖並可搜索地點。從我在網上搜索的內容來看,我可以設置我的城市,並將我的搜索範圍限制在我的國家。Android地圖只能在城市內搜索

有誰知道如何限制我的搜索只在一個城市?

回答

0

這是相當棘手的解決方案,但您可以通過以下步驟來做到:

第一步:谷歌的地方,您可以只從指定的LatLngBounds偏置搜索結果(在你的情況下城市邊界),但搜索引擎仍可能返回地方超出指定界限。有關更多詳細信息,請參閱Restrict autocomplete results。我認爲這是足夠的,但如果你需要嚴格的限制,請按照步驟2。

第二步:從第一步電話Places.GeoDataApi.getPlaceById所有的搜索結果以獲取有關每個廣場詳細信息。你會得到每個地方的其他東西LatLng。然後,您可以檢查每個地方是否位於給定的範圍內:bounds.contains(LatLng)如果不是,請將其從搜索結果中手動刪除。

無論其第二步解決方案對乘以請求PlacesAPI數量,你應該三思而後行,如果你真的需要這種嚴格的限制!

0

我找到了解決方案。 這雖然設置爲我的城市。對於任何想要使用此功能的用戶,只需更改long和lat。 sb.append("&types=establishment&strictbounds&location=9.30684,123.305447&radius=2000");