百度地图绘制行政区边界

一般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<List<LatLng>> 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);
}

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值