周边搜索
DaxiMap Android SDK提供周边查询的功能。本模块是对周边查询的调用接口说明。
初始化数据#
室内周边搜索#
周边检索方法需提供查询范围中心点、查询范围半径等参数。示例如下:
//查询出bdid=B000A11DGP 楼层ID=DX0002250110100001 116.379664, 39.929308 周边100米内的地图元素
DXSearchOptions searchOptions = new DXSearchOptions();
searchOptions.bdid("B000A11DGP") // 可选无bdid查询室外
searchOptions.floorId("DX0002250110100001"); // 搜索的楼层
searchOptions.circle(116.379664, 39.929308, 100) // 圆形的中心点116.379664, 39.929308, 半径为100米 搜索的范围限制可以是如下内容(circle,polygon,rect)
searchOptions.returnCount(30) // 返回数量
室外周边搜索#
提供室外查询范围中心点、查询范围半径等参数。示例如下:
DXSearchOptions searchOptions = new DXSearchOptions();
searchOptions.circle(116.379664, 39.929308, 100); // 圆形的中心点116.379664, 39.929308, 半径为100米 搜索的范围限制可以是如下内容(circle,polygon,rect)
周边检索#
搜索分析对象执行query方法。示例如下:
// 设置搜索参数
DXSearchOptions searchOptions = new DXSearchOptions();
searchOptions.bdid("B000A11DGP"); // 可选无bdid查询室外
searchOptions.floorId("DX0002250110100001"); // 搜索的楼层
searchOptions.circle(116.379664, 39.929308, 100); // 圆形的中心点116.379664, 39.929308, 半径为100米 搜索的范围限制可以是如下内容(circle,polygon,rect)
searchOptions.returnCount(30); // 返回数量
// 开始搜索
mSearchAnalysis.query(searchOptions, new DXOnSearchListener(){
@Override
public void onSearchSuccess(List<DXPoiItem> resultList) {
// 搜索成功
for(int i = 0; i < resultList.size(); i++){
DXPoiItem item = resultList.get(i);
DXMarkerOptions markerOptions = new DXMarkerOptions();
markerOptions.iconPath("poi_red.png");
markerOptions.position(new DXLatLng(item.latitude, item.longitude));
markerOptions.title(item.title);
DXMarker marker = mMap.addMarker(markerOptions);
}
}
@Override
public void onSearchFailed(String errorMessage) {
// 搜索失败
Log.d("Search", errorMessage);
}
});