美文网首页
(8)POI检索

(8)POI检索

作者: 朋友那么多交心有几个 | 来源:发表于2019-01-13 16:38 被阅读0次

百度地图SDK提供三种类型的POI检索:城市内检索、周边检索和区域检索(即矩形区域检索)

跟搜索有关的类

PoiSearch 它内部有几个方法

searchInCity(PoiCitySearchOptionoption)

城市内检索 V4.3.2版本后(包含V4.3.2版本),该方法要在Listener设置方法 setOnGetPoiSearchResultListener(OnGetPoiSearchResultListener) 之后执行,否则会在某些场景出现拿不到回调结果的情况

searchInBound(PoiBoundSearchOptionoption)

范围内检索 V4.3.2版本后(包含V4.3.2版本),该方法要在Listener设置方法 setOnGetPoiSearchResultListener(OnGetPoiSearchResultListener) 之后执行,否则会在某些场景出现拿不到回调结果的情况

searchNearby(PoiNearbySearchOptionoption)

周边检索 V4.3.2版本后(包含V4.3.2版本),该方法要在Listener设置方法setOnGetPoiSearchResultListener(OnGetPoiSearchResultListener)之后执行,否则会在某些场景出现拿不到回调结果的情况

booleansearchPoiIndoor(PoiIndoorOptionoption)

POI 室内检索 V4.3.2版本后(包含V4.3.2版本),该方法要在Listener设置方法 setOnGetPoiSearchResultListener(OnGetPoiSearchResultListener) 之后执行,否则会在某些场景出现拿不到回调结果的情况

经过上面四种检索之后

searchPoiDetail(PoiDetailSearchOptionoption)

POI 详情检索 V4.3.2版本后(包含V4.3.2版本),该方法要在Listener设置方法 setOnGetPoiSearchResultListener(OnGetPoiSearchResultListener) 之后执行,否则会在某些场景出现拿不到回调结果的情况

设置检索监听

@Override // 查询结果回调

public void onGetPoiResult(PoiResult poiResult) {

Log.e(TAG,"onGetPoiResult");

}

@Override //被onGetPoiDetailResult替代

public void onGetPoiDetailResult(PoiDetailResult poiDetailResult) {

Log.e(TAG,"onGetPoiDetailResult");

}

@Override //用于返回详细检索结果

public void onGetPoiDetailResult(PoiDetailSearchResult poiDetailSearchResult) {

Log.e(TAG,"onGetPoiDetailResult");

}

@Override //室内检索结果回调

public void onGetPoiIndoorResult(PoiIndoorResult poiIndoorResult) {

Log.e(TAG,"onGetPoiIndoorResult");

}

mPoiSearch.searchInCity(new PoiCitySearchOption()

.city("杭州")//必填

        .keyword("工商银行")//必填

        .pageNum(10));

城市检索

我们进行城市检索,会回调到onGetPoiResult()里面

@Override // 查询结果回调

    public void onGetPoiResult(PoiResult poiResult) {

List poiInfos=poiResult.getAllPoi();

        PoiInfo poi = poiResult.getAllPoi().get(0);

//通过第一条检索信息对应的uid发起详细信息检索

        mPoiSearch.searchPoiDetail((new PoiDetailSearchOption()).poiUid(poi.uid));

        Log.e(TAG,"onGetPoiResult");

    }

然后我们可以在里面对查询的到某一条信息进行详情信息检索,这次查到的信息会回调到

@Override

public void onGetPoiDetailResult(PoiDetailResult poiDetailResult) {

Log.e(TAG,"onGetPoiDetailResult");

}

比如我这里查询到的第一条数据是

然后详细信息

POI周边检索

周边检索是在一个圆形范围内的POI检索,适用于以某个位置为中心点,自定义搜索半径,搜索某个位置附近的POI。

设置SearchOption,发起周边检索请求示例如下:

mPoiSearch.searchNearby(new PoiNearbySearchOption() .location(new LatLng(39.915446, 116.403869)) .radius(100) .keyword("餐厅") );

这里的radius就是设置以搜索点位圆心,的半径长度,这里半径长度是100米

我们一般是已自己所在位置为圆心,搜索附近5公里以内的商家

POI区域检索(矩形区域检索)

POI区域检索,即“在由开发者指定的西南角和东北角组成的矩形区域内的POI检索”。

设置好西南角和东北角的坐标,形成一个矩形,查询矩形内符合条件的商家

设置PoiBoundsSearchOptions,发起检索请求示例如下:

/**

* 设置矩形检索区域

*/LatLngBounds searchBounds = new LatLngBounds.Builder()       

 .include(new LatLng( 39.92235, 116.380338 ))      

  .include(new LatLng( 39.947246, 116.414977))     

   .build();/**

* 在searchBounds区域内检索餐厅

*/mPoiSearch.searchInBound(new PoiBoundSearchOption()   .bound(searchBounds)        .keyword("餐厅"));

相关文章

  • (8)POI检索

    百度地图SDK提供三种类型的POI检索:城市内检索、周边检索和区域检索(即矩形区域检索) 跟搜索有关的类 PoiS...

  • iOS 百度地图v2.9.1 API 的详细使用(四)

    检索功能 1. 简介 百度地图SDK提供的检索服务包括以下功能模块:POI检索,公交方案检索,驾车路线检索,步行路...

  • iOS 百度地图3-检索

    百度地图SDK提供的检索服务包括以下功能模块:POI检索,公交方案检索,驾车路线检索,步行路线检索,行政区边界数据...

  • 百度地图总结第二篇--POI检索功能

    简介: 目前百度地图SDK所集成的检索服务包括:POI检索、公交信息查询、线路规划、地理编码、行政区边界数据检索、...

  • Baidu 地图 SDK 的使用(四)---POI Search

    POI = point of interest (兴趣点) 兴趣点检索应该是地图类 SDK 最重要的接口了, 也是...

  • R语言 百度POI,地点检索服务

    R语言 百度POI,地点检索服务 --根据IP地址获取位置----- ----按县级区划查询天气------ --...

  • 使用Python获取城市POI数据

    1.数据接口: 本次使用百度地图开放平台中的地点检索API来获取城市POI数据,此次以矩形区域检索为例。 2.获取...

  • iOS 百度POI检索

    代码demo,GitHub:(https://github.com/songfeiSF/SFBaiDuPoiToo...

  • 百度地图

    官网 成为开发者 申请秘钥(ak) 部署 手动部署 自动部署 地图 定位 导航 室内图 地图覆盖物 POI检索 地...

  • 计算鼓楼区人口密度

    1、读取含有POI点的CSV文件,将点在Arcmap中进行展示。 该数据集中,共有205567个POI,分为8类,...

网友评论

      本文标题:(8)POI检索

      本文链接:https://www.haomeiwen.com/subject/mutldqtx.html