提问者:小点点

如何缩放Mapview并给出角点位置


我有一个数组,如[[39.1216,40.5127],[40.5081,40.5127],[40.5081,41.1076],[39.1216,41.1076]]this and this locations给我一个城市的角坐标。 [topleft,topRight,botRight,botleft]

当用户选择一个城市时,我要缩放mapview直到mapview的角点与该位置匹配。 我找遍了,但找不到任何解决办法。 我怎样才能做到这一点呢?

我可以得到这个坐标的中心位置,但是如何根据拐角位置来计算纬度表纵向表呢?

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

共1个答案

匿名用户

您可以获得纬度和经度之间的差值(delta),然后使用MKCoordinateSpanMKCoordinateRegion设置地图的初始可见区域。

    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

相关问题