针对检索功能模块(POI检索、线路规划等),地图SDK还对外提供相应的覆盖物来快速展示结果信息。这些方法都是开源的,开发者可根据自己的实际去求来做个性化的定制。
POI(Point of Interest),中文可以翻译为“兴趣点”。在地理信息系统中,一个POI可以是一栋房子、一个商铺、一个邮筒、一个公交站等。
以搜索美食为例
- 实例化PoiSerach检索对象
// PoiSearch类 是POI检索接口
PoiSearch mPoiSearch = PoiSearch.newInstance();
- 创建并设置监听
OnGetPoiSearchResultList
ener是检索的回调监听 //给PoiSearch 添加 检索监听
mPoiSearch.setOnGetPoiSearchResultL
istener(new OnGetPoiSearchResultList ener){
public void onGetPoiDetailResult(){}; //poi 详情查询结果回调
public void onGetPoiResult() //poi 查询结果回调 //在onGetPoiResult回调中将PoiOverlay的子类的对象添加到地图上 并设置点击事件
//重写PoiOverlay子类的 onPoiClick方法 设置点击事件
//searchPoiDetail : POI 详情检索, 使用详情检索,需在 AndroidManifest.xml 文件中声明 PlaceCaterActivity(百度提供)
};
PoiOverlay
- 发起检索请求
//根据城市 和关键字 查询
mPoiSearch.searchInCity((new PoiCitySearchOption())
.city(city) .keyword(美食) .pageNum(load_Index));
- 释放Poi实例
@Override
protected void onDestroy() {
mPoiSearch.destroy();
super.onDestroy();
}
还可以同时实现OnGetSuggestionResultLis
还可以在发起检索的时候 通过地点去检索
检索功能还能对公交线路
总结下流程 :