在iPhone App中如何计算MKMapView
中两点之间的距离
如下图所示?
第一个点是mapview中可见地图的中心点。
第二个点是mapview的可见矩形的任何一个角(这里,例如我采取了左上角的点)。
我想用米来计算这个距离。我怎样才能做到这一点?
我的目标是计算MKMapview
中可见地图矩形的比率。
答案 0 :(得分:29)
你可以通过以下方式获得中心的纬度/经度。
convertPoint:toCoordinateFromView:
loc1和loc2都是CLLocation objs。
CLLocationDistance dist = [loc1 distanceFromLocation:loc2];
所以这两个提示可以帮到你。如果你需要一些代码,请告诉我: - )
答案 1 :(得分:1)
以下是计算所需距离的方法:
// You first have to get the corner point and convert it to a coordinate
MKMapRect mapRect = self.mapView.visibleMapRect;
MKMapPoint cornerPointNW = MKMapPointMake(mapRect.origin.x, mapRect.origin.y);
CLLocationCoordinate2D cornerCoordinate = MKCoordinateForMapPoint(cornerPointNW);
// Then get the center coordinate of the mapView (just a shortcut for convenience)
CLLocationCoordinate2D centerCoordinate = self.mapView.centerCoordinate
// And then calculate the distance
CLLocationDistance distance = [cornerCoordinate distanceFromLocation:centerCoordinate];
答案 2 :(得分:0)
Swift 3 +
let distance: CLLocationDistance = location1.distance(from: location2)