我想在启动时倾斜地图。 (与用户用2个手指向上或向下滚动时相同)
使用Swift可以吗?
答案 0 :(得分:6)
MKMapView类参考:http://goo.gl/djHXPn
查看camera
属性:
相机对象定义地图表面上方的一个点,用于查看地图。将相机应用于地图具有使地图具有类似3D的外观的效果。您可以使用相机旋转地图,使其方向与用户的标题相匹配,或应用俯仰角度来倾斜地图平面。
为此属性指定新摄像头会立即更新地图,而不会更改动画。如果要对摄像机位置的更改进行动画处理,请改用setCamera:animated:方法。
您不能将此属性设置为nil。要将地图恢复为平面外观,请应用俯仰角为0的摄像机,这样可以将摄像机直视到地图表面。
尝试创建和设置相机(动画与否)。
修改:
我试过自己。以下是如何使用它的示例:
let userCoordinate = CLLocationCoordinate2D(latitude: 58.592725, longitude: 16.185962)
let eyeCoordinate = CLLocationCoordinate2D(latitude: 58.571647, longitude: 16.234660)
let mapCamera = MKMapCamera(lookingAtCenterCoordinate: userCoordinate, fromEyeCoordinate: eyeCoordinate, eyeAltitude: 400.0)
let annotation = MKPointAnnotation()
annotation.setCoordinate(userCoordinate)
mapView.addAnnotation(annotation)
mapView.setCamera(mapCamera, animated: true)
根据您想要的位置和倾斜效果,您必须找到合适的eyeCoordinate
。
答案 1 :(得分:2)
Swift 4
这是一种更简单的方法:您可以设置距离,俯仰和航向:
let mapCamera = MKMapCamera(lookingAtCenter: userCoordinate, fromDistance: 10000, pitch: 65, heading: 0)
map.setCamera(mapCamera, animated: true)