使用Swift以编程方式在Mapkit中倾斜地图

Chr*_*ian 3 mapkit ios swift

我想在启动时倾斜地图.(与用户用2个手指向上或向下滚动时相同)

这可能使用Swift吗?

lch*_*amp 7

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)
Run Code Online (Sandbox Code Playgroud)

您必须eyeCoordinate根据自己的位置和倾斜效果找到自己的权利.


Cha*_*nel 5

Swift 4

This is an easier way: you can set distance, pitch and heading:

let mapCamera = MKMapCamera(lookingAtCenter: userCoordinate, fromDistance: 10000, pitch: 65, heading: 0)
map.setCamera(mapCamera, animated: true)
Run Code Online (Sandbox Code Playgroud)