Swift 缩放以适合用户位置和注释地图视图
“我的地图视图”显示了目标壁画的用户位置和注释,但缩放已关闭。如何根据当前位置和目标注释之间的距离和居中程度调整其比例以适应它们 这就是它的缩放方式(如此之远)Swift 缩放以适合用户位置和注释地图视图,swift,mkmapview,zooming,rect,Swift,Mkmapview,Zooming,Rect,“我的地图视图”显示了目标壁画的用户位置和注释,但缩放已关闭。如何根据当前位置和目标注释之间的距离和居中程度调整其比例以适应它们 这就是它的缩放方式(如此之远) 您可以使用“func setRegion(u”region:MKCoordinateRegion,animated:Bool)”。MKCoordinateRegion有一个中心,还定义了该区域的跨度。这里的中心可以是距离用户位置和目的地等距离的点。您可以相应地决定跨度。let latSpan=muralocation.userLoca
您可以使用“func setRegion(u”region:MKCoordinateRegion,animated:Bool)”。MKCoordinateRegion有一个中心,还定义了该区域的跨度。这里的中心可以是距离用户位置和目的地等距离的点。您可以相应地决定跨度。let latSpan=muralocation.userLocation.coordinate.latitude-coordinates.latitude let longSpan=muralocation.userLocation.coordinate.longitude-coordinates.longitude变量map=MKCoordinateRegion()let span=MKCoordinateSpanMake(latSpan,longSpan)map.center=muralocation.userLocation.coordinate map.span=spanI执行此操作,但地图缩放没有移动。。。有什么帮助吗?
func mapPoints(){
let annotations = MKPointAnnotation()
annotations.title = muralModel.muralName!
muralModel.getMainArtistModel(completion: { (anArtistModel) in
annotations.subtitle = " \(anArtistModel!.firstName!) \(anArtistModel!.lastName!)"
})
annotations.coordinate = coordinates
muralLocation.addAnnotation(annotations)
self.muralLocation.showsUserLocation = true
var zoomRect: MKMapRect = MKMapRectNull
let mapEdgePadding = UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20)
//convert CLLocationCoordinate2D to MKMapPointForCoordinate so you don't end up in Bering Sea
let userPoint = MKMapPointForCoordinate(muralLocation.userLocation.coordinate)
let destinationPoint = MKMapPointForCoordinate(coordinates)
let userPointRect = MKMapRectMake(userPoint.x, userPoint.y, 0.1, 0.1)
let destinationPointRect = MKMapRectMake(destinationPoint.x, destinationPoint.y, 0.1, 0.1)
zoomRect = userPointRect
zoomRect = MKMapRectUnion(zoomRect, destinationPointRect)
muralLocation.setVisibleMapRect(zoomRect, edgePadding: mapEdgePadding, animated: true)
}