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

当界面中有多个大头针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让他适配到正确界面.
方法很笨,如果大家有更好的方法,麻烦留言告诉我

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容