我有一个带有MapView的swift
应用。这些是我在地图故事板上的设置:
此外,在代码I中:
let regionRadius: CLLocationDistance = 10000
let initialLocation = CLLocation(latitude: latitude, longitude: longitude)
centerMapOnLocation(initialLocation, map: cell.mapView, radius: regionRadius)
cell.mapView.scrollEnabled = false
cell.mapView.rotateEnabled = false
我的方法centerMapOnLocation
最初将地图置于特定位置的中心位置:
func centerMapOnLocation(location: CLLocation, map: MKMapView, radius: CLLocationDistance) {
let coordinateRegion = MKCoordinateRegionMakeWithDistance(location.coordinate,
radius * 2.0, radius * 2.0)
map.setRegion(coordinateRegion, animated: true)
}
我想只允许用户放大/缩小到精确的gps坐标。
目前用户无法滚动地图,但他也可以旋转地图 - 他可以在地图上的任何地方双击,它会在那里缩放。
我想禁用这些选项并产生效果,当用户双击地图(或捏合)时 - 它只会缩放到初始位置。
我该怎么做?还有 - 为什么rotateEnabled = false
不起作用?
答案 0 :(得分:3)
在双击操作方法
中添加以下代码var annotationPoint = MKMapPointForCoordinate(zoomToLocation.coordinate)
var zoomRect = MKMapRectMake(annotationPoint.x, annotationPoint.y, 0.1, 0.1)
mapView.setVisibleMapRect(zoomRect, animated: true)
这里zoomToLocation是你想要的CLLocation,mapView是MKMapView的对象。
希望这能解决你的问题:)