【问题标题】:How to implement search functionality for Google Map Api V2 Android?如何为 Google Map Api V2 Android 实现搜索功能?
【发布时间】:2014-03-06 22:51:19
【问题描述】:
我需要为我的 Android Google Map Api V2 项目实现搜索功能,但找不到任何工作示例。我只需要输入一个城市名称,按“搜索”按钮,然后地图应该会移动到该城市并在其上显示一个标记。就像谷歌地图应用程序一样。自动完成应该很好。我实际上可以显示地图,显示一些标记等,我只是无法执行搜索并查看结果。请帮忙!
提前致谢
【问题讨论】:
标签:
android
google-maps
search
maps
google-maps-android-api-2
【解决方案1】:
我只需要输入一个城市名称,按“搜索”按钮,然后
地图应移动到城市并在其上显示一个标记。就像
谷歌地图应用程序可以。
因此,您必须在点击搜索功能时执行以下操作:
- 用户输入的城市名称将发送到google api - 它
将把经纬度返还给您。
- 您将使用该 lat-long 来添加标记以及,
- 您将使用该 lat-long 为 Gmaps Camara 设置动画。就是这样。
- 通过这种方式,您可以满足上述要求。
【解决方案2】:
据我所知,将地图移动到某个点是通过调用GoogleMap 对象的moveCamera() 方法完成的:
GoogleMap map = ((MapFragment) getFragmentManager()
.findFragmentById(R.id.map)).getMap();
LatLng sydney = new LatLng(-33.867, 151.206);
map.setMyLocationEnabled(true);
map.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 13));
取自this 示例。
如您所见,您需要纬度和经度坐标来创建LatLng 对象。我相信您可以使用 google 的地点搜索来获取这些坐标,使用 http-requests。示例:
https://maps.googleapis.com/maps/api/place/textsearch/xml?query=restaurants+in+Sydney&sensor=true&key=AddYourOwnKeyHere
取自here
它应该为您返回 JSON 数据。
有关自动完成功能,请参阅this 链接
编辑:糟糕,地点搜索会返回 xml,请尝试改用 ...json?query=...