ios - 如何通过提供角落位置来缩放 Mapview

标签 ios swift location mkmapview

我有一个像 [[39.1216, 40.5127],[40.5081, 40.5127],[40.5081, 41.1076],[39.1216, 41.1076]] 这样的数组这个和这个位置给了我一个城市的角落坐标。 [topleft,topRight,botRight,botLeft]当用户选择一个城市时,我想将 map View 缩放到 mapview 的角落匹配这个位置。
我搜索但找不到任何解决方案。我怎样才能做到这一点?
我可以得到这个坐标的中心位置,但是如何计算 latitudinalMeterslongitudinalMeters根据角落位置?

  let region = MKCoordinateRegion.init(center: location, latitudinalMeters: "calculations", longitudinalMeters: "calculations")

最佳答案

您可以获得纬度和经度之间的差异(增量),然后使用 MKCoordinateSpanMKCoordinateRegion设置 map 的初始可见区域。

    let latDelta = topLeft.latitude - bottomRight.latitude
    let lonDelta = topLeft.longitude - bottomRight.longitude
    let span = MKCoordinateSpan(latitudeDelta: fabs(latDelta), longitudeDelta: fabs(lonDelta))
    
    let region = MKCoordinateRegion(center: lake.midCoordinate, span: span)
    
    mapView.region = region

关于ios - 如何通过提供角落位置来缩放 Mapview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62676563/

相关文章:

ios - UITableView + 在顶部添加内容偏移量

Swift 4.2 使用选定的属性和排序顺序对数组进行排序

ios - Swift:如何使用 UISwitch 来控制 UITextField 通过委托(delegate)启用或禁用

Android 位置更新不返回

android - 为什么先执行运行时权限调用之后的代码?

ios - 在 NSObject 中监听 UIView 的 touchesBegan/touchesEnded

iphone - 如何将一个 xib 与多个 View Controller 一起使用?

ios - 使用 SwiftUI 和 MapKit 检索用户当前位置

ios - reloadData 不会将完成处理程序的 dispatch_async 中的 TableView 重新加载到主线程

android - WorkManager 只需要在特定的时间间隔内工作,如何使用工作管理器约束?工作管理器示例