介绍

地图选点演示了如何通过检索SDK,迅速查找指定位置周边的POI。

使用产品

Android 地图 SDK(检索功能已经整合到地图SDK中)


核心类说明

1、TencentSearch:检索功能的主入口,用于发起检索。
2、SearchParam:城市地点检索。


示例核心点讲解

/**
    * poi检索
    */
protected void searchPoi() {
    TencentSearch tencentSearch = new TencentSearch(this);
    String keyWord = etSearch.getText().toString().trim();
    //城市搜索
    SearchParam.Region region = new SearchParam
            //设置搜索城市
            .Region("北京")
            //设置搜索范围不扩大
            .autoExtend(false);

    //构建地点检索
    SearchParam searchParam = new SearchParam(keyWord, region);
    tencentSearch.search(searchParam, new HttpResponseListener<BaseObject>() {

        @Override
        public void onFailure(int arg0, String arg2,
                                Throwable arg3) {
            Toast.makeText(getApplicationContext(), arg2, Toast.LENGTH_LONG).show();
        }

        @Override
        public void onSuccess(int arg0, BaseObject arg1) {
            if (arg1 == null) {
                return;
            }
            SearchResultObject obj = (SearchResultObject) arg1;
            if(obj.data == null){
                return;
            }
            //将地图中心坐标移动到检索到的第一个地点
            tencentMap.moveCamera(CameraUpdateFactory
                    .newCameraPosition(
                            new CameraPosition(obj.data.get(0).latLng,
                            //设置缩放级别到 15 级
                                    15f, 
                                    0, 
                                    0)));
            //将其他检索到的地点在地图上用 marker 标出来
            for(SearchResultObject.SearchResultData data : obj.data){
                Log.v("SearchDemo","title:"+data.title + ";" + data.address);
                tencentMap.addMarker(new MarkerOptions()
                        //标注的位置
                        .position(data.latLng)
                        //标注的InfoWindow的标题
                        .title(data.title)
                        //标注的InfoWindow的内容
                        .snippet(data.address)
                );

            }
        }
    });
}

注意点

地点搜索 tencentSearch.search(SearchParam object, HttpResponseListener listener) 接口,封装了腾讯地图 WebService API 的地点搜索功能,更详细的接口描述可以查阅官网。这里对 SDK 提供的地点搜索接口做简要描述。

下载源代码