目录
2.2 DistrictSearchOption(行政检索参数)
2.4 onGetDistrictResult(行政检索监听)
1.DistrictSearch
DistrictSearch是行政区域检索接口,通过DistrictSearchOption参数类获取区域;可以通过此类来绘制区域的图层显示;
2. 相关类
2.1 DistrictSearch(行政检索)
DistrictSearch是行政区域检索接口,包括了newInstance(行政区域构造)、searchDistrict(行政区域搜索)、setOnDistrictSearchListener(设置检索监听)、destroy(释放资源)函数;
2.2 DistrictSearchOption(行政检索参数)
通过city(cityName)和districtName(districtName)设置城市和区域参数;
2.3 DistrictResult(检索结果)
行政区域检索返回结果;
int |
|
获取行政区域中心点 |
|
int |
获取行政区域编码 |
java.lang.String |
获取行政区域名称 |
java.util.List<java.util.List<LatLng>> |
获取行政区域边界坐标点 |
void |
setCenterPt(LatLng centerPt) |
void |
setCityCode(int cityCode) |
void |
setCityName(java.lang.String cityName) |
void |
setPolylines(java.util.List<java.util.List<LatLng>> polylines) |
void |
writeToParcel(Parcel dest, int flags) |
2.4 onGetDistrictResult(行政检索监听)
重写onGetDistrictResult()回调函数,获取检索的结果;
void onGetDistrictResult(DistrictResult result)
行政区域检索结果回调
参数:
3 行政区域案例
1. 创建DistrictSearch对象
districtSearch = DistrictSearch.newInstance();
2. 添加监听
districtSearch.setOnDistrictSearchListener(new MyDistricSearchListener());
3. 创建行政检索参数DistrictSearchOption对象
DistrictSearchOption option = new DistrictSearchOption();
option.cityName(etxt_city.getText().toString());
option.districtName(etxt_district.getText().toString());
districtSearch.searchDistrict(option);
4. 开始搜索
districtSearch.searchDistrict(option);
5. 自定义检索监听
private class MyDistricSearchListener implements OnGetDistricSearchResultListener {
@Override
public void onGetDistrictResult(DistrictResult districtResult) {
if (districtResult == null || districtResult.error != SearchResult.ERRORNO.NO_ERROR) {
showToast("未找到结果");
}
if (districtResult.error == SearchResult.ERRORNO.NO_ERROR) {
List<List<LatLng>> polyLines = districtResult.getPolylines();
if (polyLines == null) {
return;
}
LatLngBounds.Builder builder = new LatLngBounds.Builder();
for (List<LatLng> LatLngList : polyLines) {
//绘制区域边界
OverlayOptions polylineOption = new PolylineOptions().width(10).points(LatLngList).
dottedLine(true).color(0xAA00FF00);
baiduMap.addOverlay(polylineOption);
//绘制区域填充
OverlayOptions polygonOption = new PolygonOptions().points(LatLngList)..fillColor(0xAAFFFF00)
stroke(new Stroke(5, 0xAA00FF88));
baiduMap.addOverlay(polygonOption);
//设置地图的显示范围
for (LatLng latLng : LatLngList) {
builder.include(latLng);
}
baiduMap.setMapStatus(MapStatusUpdateFactory.newLatLngBounds(builder.build()));
}
}
}
}
6. 销毁对象
districtSearch.destroy();