美文网首页
高德地图设置最适合范围setVisibleMapRect

高德地图设置最适合范围setVisibleMapRect

作者: 黑色茄子 | 来源:发表于2020-07-07 15:05 被阅读0次

当界面中有多个大头针AnnotationView时,需要缩放地图至适配当前所有的大头针的范围Rect,这里我设置了内偏移50,大家可以根据项目需要选择增加与否

var coords = [CLLocationCoordinate2D(latitude: latitude, longitude: longitude),CLLocationCoordinate2D(latitude: otherLat, longitude: otherLon)]
let rect = MAPolygon.init(coordinates: &coords, count: UInt(coords.count))?.boundingMapRect
MapView.setVisibleMapRect(rect!, edgePadding: UIEdgeInsets(top: 50, left: 50, bottom:50, right: 50), animated: true)

这个方法2d地图的SDK 在viewDidLoad或者viewWillAppear里调用的话是有效的,可以让地图定位到大头针适配的范围,在3d地图SDK下,就会无效,需要改到viewDidAppear中调用才能行,但是这么操作也会有缺陷,那就是打开地图的时候,你没法确定区域,那地图就会先显示默认城市,一般为北京,然后在缩放到你给的rect下,而我这边给出的方法是,调用两次,
在viewDidLoad里调用先让地图预加载到你设定的rect的位置附近,再在viewDidAppear让他适配到正确界面.
方法很笨,如果大家有更好的方法,麻烦留言告诉我

相关文章

网友评论

      本文标题:高德地图设置最适合范围setVisibleMapRect

      本文链接:https://www.haomeiwen.com/subject/kfzoqktx.html