百度地图 js api 实现 line 居中显示

      项目中有个需求需要在百度地图的中心显示画的线,以前用过mapPanto这个方法,传入坐标就可以将地图平移到这个坐标,不过不知道如何获取线的中心点,看了别人的代码,有以下两个函数可以实现这个功能

     getbounds 返回地图可视区域,以地理坐标表示。 通过这个方法可以获取 line的四个角点坐标

     setViewport(view:Array<Point>|Viewport[, viewportOptions: ViewportOptions])   根据提供的地理区域或坐标设置地图视野,调整后的视野会保证包含提供的地理区域或坐标。(自 1.1 新增)

 

  实现的思路如下 line的范围 ,用setViewport进行校正

bounds = this.polygonsArray[0].getBounds();


var boundsLB = bounds.getSouthWest();
var boundsRT = bounds.getNorthEast();
//对象的宽高
var geomW = boundsRT.lng - boundsLB.lng;
var geomH = boundsRT.lat - boundsLB.lat;
//左下
var lngLB = boundsLB.lng - geomW;
var latLB = boundsLB.lat - geomH;
//右上
var lngRT = boundsRT.lng + geomW;
var latRT = boundsRT.lat + geomH;
var viewport = [
new BMap.Point(lngLB,latLB),
new BMap.Point(lngRT,latRT)
];
this.map.setViewport(viewport);

posted on 2013-09-23 10:25  李乐已存在  阅读(533)  评论(0编辑  收藏  举报

AmazingCounters.com