【问题标题】: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=...

      【讨论】:

        猜你喜欢
        • 2013-08-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-08
        • 2022-07-07
        相关资源
        最近更新 更多