我似乎找不到我的问题的最佳答案。
我有这段代码是“OK”但不是想法
func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool) {
print(mapView.camera.altitude)
if mapView.camera.altitude < 800.00 && !modifyingMap
{
modifyingMap = true
mapView.camera.altitude = 800.00
modifyingMap = false
}
}
我想在我的应用程序中将用户的最大和最小缩放限制为我的 map 。
非常感谢指向 SO 答案的任何链接!
谢谢!
最佳答案
您可以使用 mapView:regionDidChangeAnimated:
委托(delegate)方法来监听区域更改事件,如果该区域比您的最大/最小区域更宽/更窄,则将其设置回最大/最小值使用 setRegion:animated:
向您的用户表明他们不能缩小/缩小那么远。
例如
func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool) {
let coordinate = CLLocationCoordinate2DMake(mapView.region.center.latitude, mapView.region.center.longitude)
var span = mapView.region.span
if span.latitudeDelta < 0.002 { // MIN LEVEL
span = MKCoordinateSpanMake(0.002, 0.002)
} else if span.latitudeDelta > 0.003 { // MAX LEVEL
span = MKCoordinateSpanMake(0.003, 0.003)
}
let region = MKCoordinateRegionMake(coordinate, span)
mapView.setRegion(region, animated:true)
}
关于ios - Swift Mapkit 最大最小缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49359857/