Ios MKMapView不';I don’我不能一次展示整个世界

Ios MKMapView不';I don’我不能一次展示整个世界,ios,mapkit,zooming,Ios,Mapkit,Zooming,我正在开发一个用Swift跟踪移动的应用程序,用于从点A:locationOne,移动到点B:locationTwo。地图视图应显示地图上的两个点,并在它们之间居中 我实现了一个函数来根据确定中心位置,尽管我不得不修改它以在Swift中运行。该函数称为findCenterPoint 然后,我将地图视图的区域设置为MKCoordinateRegion。此区域的创建方式如下:let region=MKCoordinateRegionMakeWithDistance(center,2*distance

我正在开发一个用Swift跟踪移动的应用程序,用于从点A:
locationOne
,移动到点B:
locationTwo
。地图视图应显示地图上的两个点,并在它们之间居中

我实现了一个函数来根据确定中心位置,尽管我不得不修改它以在Swift中运行。该函数称为
findCenterPoint

然后,我将地图视图的区域设置为MKCoordinateRegion。此区域的创建方式如下:
let region=MKCoordinateRegionMakeWithDistance(center,2*distanceOne,2*distanceTwo)
,然后地图视图的区域设置如下:
mapView.setRegion(区域,动画:false)

我将距离乘以2,这样我们在两个位置(locationOne和LocationII的注释:用户位置)的两侧有一个边距

问题是:如果这两个点非常遥远,即纽约和澳大利亚的某个地方(我们只说澳大利亚概况),应用程序无法同时显示这两个点,因为它们不适合mapView。因此,只能看到一个pin,因为另一个pin不在屏幕上

我需要这两个点都显示出来,而不需要在地图上滚动

我还有一个
degreestoradis
函数,在下面的代码中使用

TL;DR:我的应用程序的地图视图不够大,无法在地图上显示两个很远的点,并且已经缩小到最大值

以下是实际代码:

var center = findCenterPoint(firstLocation.coordinate, locTwo: placemark.coordinate)
let earthRadius: Double = 6371000
distance = degreesToRadians(placemark.coordinate.latitude - firstLocation.coordinate.latitude)
lonDistance = degreesToRadians(placemark.coordinate.longitude - firstLocation.coordinate.longitude)

let region = MKCoordinateRegionMakeWithDistance(center, earthRadius*distance, earthRadius*lonDistance)
mapView.setRegion(region, animated: false)

我不认为苹果地图可以做你想做的。正如你所说,你已经缩小到最大,你的别针仍然不合适。您在屏幕上看到的结果基本上是您可以从Apple maps获得的最佳结果。苹果地图不能超过最大的缩放级别,即使你将一个区域设置为全世界。好的,谢谢。在这种情况下,我认为我最好的解决方案就是从a点到B点画一条多段线,用户就会知道在哪里滚动。我不认为苹果地图可以做你想做的。正如你所说,你已经缩小到最大,你的别针仍然不合适。您在屏幕上看到的结果基本上是您可以从Apple maps获得的最佳结果。苹果地图不能超过最大的缩放级别,即使你将一个区域设置为全世界。好的,谢谢。在这种情况下,我认为我最好的解决方案就是从a点到B点画一条多段线,用户将知道在哪里滚动。