介绍
地图选点演示了如何通过检索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 提供的地点搜索接口做简要描述。