第79行: | 第79行: | ||
<div class="table_wrap_w"> | <div class="table_wrap_w"> | ||
<div> | <div> | ||
− | <div class="table-wrap-className"> | + | <div class="table-wrap-className">PoiSearch</div> |
</div> | </div> | ||
<div> | <div> | ||
− | <div> | + | <div>setOnGetPoiSearchResultListener(OnGetPoiSearchResultListener poiResultListener)</div> |
</div> | </div> | ||
<div> | <div> | ||
− | <div> | + | <div>设置检索结果回调</div> |
</div> | </div> | ||
</div> | </div> | ||
第93行: | 第93行: | ||
</div> | </div> | ||
<div> | <div> | ||
− | <div> | + | <div>city(String city)</div> |
</div> | </div> | ||
<div> | <div> | ||
− | <div> | + | <div>设置检索城市</div> |
</div> | </div> | ||
</div> | </div> | ||
第104行: | 第104行: | ||
</div> | </div> | ||
<div> | <div> | ||
− | <div> | + | <div>keyword(String key)</div> |
</div> | </div> | ||
<div> | <div> | ||
− | <div> | + | <div>搜索关键字</div> |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
</div> | </div> | ||
</div> | </div> | ||
第152行: | 第119行: | ||
<div> | <div> | ||
<div>设置区域数据召回限制 为true时,仅召回city对应区域内数据</div> | <div>设置区域数据召回限制 为true时,仅召回city对应区域内数据</div> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</div> | </div> | ||
</div> | </div> | ||
第191行: | 第125行: | ||
</div> | </div> | ||
</div> | </div> | ||
+ | </div> | ||
+ | <div class="pre-nav"> | ||
+ | <div class="left-icon"></div> | ||
+ | <div>重点关注</div> | ||
+ | </div> | ||
+ | <div class="pre-nav"> | ||
+ | <div style="margin-left: 10px;">检索完成后,一定要调用PoiSearch的destroy()方法,否则会有内存泄露</div> | ||
</div> | </div> | ||
<div class="pre-nav"> | <div class="pre-nav"> | ||
<div class="left-icon"></div> | <div class="left-icon"></div> | ||
<div>核心代码</div> | <div>核心代码</div> | ||
+ | </div> | ||
+ | <div class="pre-nav"> | ||
+ | <div>1.发起检索请求</div> | ||
</div> | </div> | ||
<div class="pre-wrap"> | <div class="pre-wrap"> | ||
第201行: | 第145行: | ||
</div><!-- 安卓示例代码位置 --> | </div><!-- 安卓示例代码位置 --> | ||
<div class="pre-wrap-w pre-wrap-w-and"> | <div class="pre-wrap-w pre-wrap-w-and"> | ||
− | <pre class="prettyprint prettyprinted pre-and">// 发起请求 | + | <pre class="prettyprint prettyprinted pre-and"> |
+ | // 发起请求 | ||
mPoiSearch.searchInCity((new PoiCitySearchOption()) | mPoiSearch.searchInCity((new PoiCitySearchOption()) | ||
.city(cityStr) | .city(cityStr) | ||
第208行: | 第153行: | ||
.cityLimit(false) | .cityLimit(false) | ||
.scope(scope)); | .scope(scope)); | ||
+ | </pre> | ||
+ | <div class="pre-btn"> | ||
+ | <div class="pre-btn-copy-and">复制</div> | ||
+ | <div class="pre-btn-cb-and">深色</div> | ||
+ | </div> | ||
+ | <div class="success">复制成功</div> | ||
+ | </div> | ||
+ | </div> | ||
+ | <div class="pre-nav"> | ||
+ | <div>2.检索结果回调处理</div> | ||
+ | </div> | ||
+ | <div class="pre-wrap"> | ||
+ | <div class="pre-wrap-nav"> | ||
+ | <div>JAVA</div> | ||
+ | </div><!-- 安卓示例代码位置 --> | ||
+ | <div class="pre-wrap-w pre-wrap-w-and"> | ||
+ | <pre class="prettyprint prettyprinted pre-and"> | ||
+ | @Override | ||
+ | public void onGetPoiResult(PoiResult poiResult) { | ||
+ | if (poiResult == null || poiResult.error == SearchResult.ERRORNO.RESULT_NOT_FOUND) { | ||
+ | Toast.makeText(PoiCitySearchActivity.this, "未找到结果", Toast.LENGTH_LONG).show(); | ||
+ | return; | ||
+ | } | ||
+ | |||
+ | List<PoiInfo> poiInfos = poiResult.getAllPoi(); | ||
+ | if (null == poiInfos) { | ||
+ | return; | ||
+ | } | ||
+ | |||
+ | // 隐藏之前的 | ||
+ | hidePoiInfoLayout(); | ||
+ | |||
+ | mRecyclerView.setVisibility(View.VISIBLE); | ||
+ | |||
+ | if (null == mPoiItemAdaper) { | ||
+ | mPoiItemAdaper = new PoiItemAdapter(poiInfos); | ||
+ | } else { | ||
+ | mPoiItemAdaper.updateData(poiInfos); | ||
+ | } | ||
+ | } | ||
</pre> | </pre> | ||
<div class="pre-btn"> | <div class="pre-btn"> | ||
第252行: | 第237行: | ||
<!-- IOS使用产品下选项,可有多个 --> | <!-- IOS使用产品下选项,可有多个 --> | ||
<!-- 产品1|/index.php?title=test --> | <!-- 产品1|/index.php?title=test --> | ||
− | <div class="documentA"> | + | <div class="documentA">iOS地图SDK|/index.php?title=iossdk</div><!-- --> |
<div>></div> | <div>></div> | ||
<div class="documentA">POI城市检索|/index.php?title=iossdk/guide/search/poi</div> | <div class="documentA">POI城市检索|/index.php?title=iossdk/guide/search/poi</div> |
2020年6月2日 (二) 19:45的版本
地点检索
功能场景
支持用户根据关键词查询出行的起终点、兴趣点等,可结合路线规划、导航等功能使用。
Android
iOS
//mapopen-website-wiki.bj.bcebos.com/demos/AndroidVideos/SVID_20200530_205921_1.mp4
1590746640|//mapopen-website-wiki.bj.bcebos.com/demos/qrcodes/地点检索.png
扫码体验
使用产品
Android地图SDK|/index.php?title=androidsdk
>
POI城市检索|/index.php?title=androidsdk/guide/search/poi
下载源码
//mapopen-website-wiki.bj.bcebos.com/demos/BaiduMapSDKExample.zip
核心接口
类
接口
描述
PoiSearch
searchInCity(PoiCitySearchOption option)
城市内检索
PoiSearch
setOnGetPoiSearchResultListener(OnGetPoiSearchResultListener poiResultListener)
设置检索结果回调
PoiCitySearchOption
city(String city)
设置检索城市
PoiCitySearchOption
keyword(String key)
搜索关键字
PoiCitySearchOption
cityLimit(boolean cityLimit)
设置区域数据召回限制 为true时,仅召回city对应区域内数据
重点关注
检索完成后,一定要调用PoiSearch的destroy()方法,否则会有内存泄露
核心代码
1.发起检索请求
JAVA
// 发起请求 mPoiSearch.searchInCity((new PoiCitySearchOption()) .city(cityStr) .keyword(keyWordStr) .pageNum(mLoadIndex) // 分页编号 .cityLimit(false) .scope(scope));
复制
深色
复制成功
2.检索结果回调处理
JAVA
@Override public void onGetPoiResult(PoiResult poiResult) { if (poiResult == null || poiResult.error == SearchResult.ERRORNO.RESULT_NOT_FOUND) { Toast.makeText(PoiCitySearchActivity.this, "未找到结果", Toast.LENGTH_LONG).show(); return; } List<PoiInfo> poiInfos = poiResult.getAllPoi(); if (null == poiInfos) { return; } // 隐藏之前的 hidePoiInfoLayout(); mRecyclerView.setVisibility(View.VISIBLE); if (null == mPoiItemAdaper) { mPoiItemAdaper = new PoiItemAdapter(poiInfos); } else { mPoiItemAdaper.updateData(poiInfos); } }
复制
深色
复制成功