ios开发中,使用百度地图时如何让标注自动呈现在最佳视野内;有没有相关的api?
求大神解疑,项目中有个需求就是,地图根据标注点的分布,来最优的显示所有标注点,从而改变地图的zoomLevel;我百度知道前端用的是setViewPort;百度了和在demo中都没找到相关方法;求解疑?
swift版: 在公交分类里找到改方法;自己测试也没问题。 传入的参数为你自己的地图上标注点的折线;直接调用就ok;地图会根据所有标注点显示范围。 //根据polyline设置地图范围 func mapViewFitPolyLine(polyline: BMKPolyline!) { if polyline.pointCount < 1 { return }
let pt = polyline.points[0] var ltX = pt.x var rbX = pt.x var ltY = pt.y var rbY = pt.y
for i in 1..<polyline.pointCount { let pt = polyline.points[Int(i)] if pt.x < ltX { ltX = pt.x } if pt.x > rbX { rbX = pt.x } if pt.y > ltY { ltY = pt.y } if pt.y < rbY { rbY = pt.y } }
let rect = BMKMapRectMake(ltX, ltY, rbX - ltX, rbY - ltY) mapView!.visibleMapRect = rect mapView!.zoomLevel = mapView!.zoomLevel - 0.3 } |
你计算一下中心坐标,设置一下就可以了
已解决,谢谢。
调用这个方法就可以
map.setViewport(points);
不好意思看错了,这是js Api