2017-02-11 23 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");