巧妙解决百度地图在合适视野范围内显示所有的点

先上代码:

mBaiduMap.setOnMapLoadedCallback(new OnMapLoadedCallback() {

@Override
public void onMapLoaded() {
// 路线
LatLng p1 = new LatLng(31.209933, 121.608515);
LatLng p2 = new LatLng(30.905841, 121.927665);
LatLng p3 = new LatLng(31.049502, 121.432088);
LatLng p4 = new LatLng(31.160318, 121.434962);
LatLng p5 = new LatLng(34.283806, 117.198051);
LatLng p6 = new LatLng(29.545097, 106.568581);
LatLng p7 = new LatLng(34.358342, 108.922285);
List<LatLng> points = new ArrayList<LatLng>();
points.add(p1);
points.add(p2);
points.add(p3);
points.add(p4);
points.add(p5);
points.add(p6);
points.add(p7);
OverlayOptions ooPolyline = new PolylineOptions().width(10)
.color(0xAAFF0000).points(points);
mBaiduMap.addOverlay(ooPolyline);
LatLngBounds.Builder builder = new LatLngBounds.Builder();
for (LatLng p : points) {
builder = builder.include(p);
}
LatLngBounds latlngBounds = builder.build();
MapStatusUpdate u = MapStatusUpdateFactory.newLatLngBounds(latlngBounds,mMapView.getWidth(),mMapView.getHeight());
mBaiduMap.animateMapStatus(u);

}

});


简单明了,在OnMapLoadedCallback中实现是关键,否则mapview的with和height取得是0.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值