百度地图绘制行政区边界

一般app很少看到有在百度地图上显示行政边界的,本想偷懒一回,拿个现成的,但百度好长时间都没有。还是耐心的去看类参考吧,后来发现挺简单的,所以记录一下方便以后直接拿来用了。

其实就是获取点位生成图层添加到baidumap里面去。

private void addBundary(String districtName) {   
    DistrictSearchOption option = new DistrictSearchOption();  
    searchOption = option.districtName(distrName).cityName("上海市");
    DistrictSearch search = DistrictSearch.newInstance();
    //获取到行政边界点
    search.searchDistrict(searchOption);
    search.setOnDistrictSearchListener(new OnGetDistricSearchResultListener() {
        @Override
        public void onGetDistrictResult(DistrictResult districtResult) {
            List> latLngs = districtResult.getPolylines();
	        setLocation(districtResult.getCenterPt());
            if (latLngs != null && !latLngs.isEmpty()) {
                polygonOptions = new PolygonOptions().points(latLngs.get(0)).fillColor(Color.parseColor("#00000000")).stroke(new Stroke(5, Color.parseColor("#AD8764")));
                baiduMap.addOverlay(polygonOptions);
            }
        }
    });
}

//设定到行政中心中心点坐标
private void setLocation(LatLng latLng) {  
    //定义地图状态 
    MapStatus mMapStatus = new MapStatus.Builder().target(latLng).build();
    //定义MapStatusUpdate对象,以便描述地图状态将要发生的变化
    MapStatusUpdate mMapStatusUpdate = MapStatusUpdateFactory.newMapStatus(mMapStatus);          
    //改变地图状态 
    baiduMap.setMapStatus(mMapStatusUpdate);
}

 

 

 

你可能感兴趣的:(android,百度地图,行政边界绘制)