全部。我需要一些帮助。
我正在使用MapKit,当然我的相机可以上下移动(放大和缩小)。
我想在缩放时更改MKMapCamera的音高。
因此,当摄像机低时,音调将变大(〜80),而当摄像机高时,音调将变小(0)。
这是图片,显示了我想做什么:
我尝试创建函数,该函数将监视高度并自动更改俯仰:
cam_timer = [NSTimer scheduledTimerWithTimeInterval: 0.05 target: self selector: @selector (test) userInfo:nil repeats: YES];
- (void) test
{
[debug_lbl_1 setText: [NSString stringWithFormat:@"%f", map.region.span.latitudeDelta]];
map.camera.pitch = 45; // changing pitch
}
但是当我使用该功能访问摄像机时,它停止了移动。我的意思是...如果我试图从该功能访问相机,则无法移动,缩放或使用地图进行任何操作。
所以我的问题是:当高度(缩放水平)改变时,如何使功能改变音调?拜托,我非常需要帮助=(
最佳答案
您可以使用MKMapCamera和UIView动画在iOS 10及更高版本中实现此目的
mapView.camera = MKMapCamera(lookingAtCenter: pinLocation, fromDistance: 2000, pitch: 0, heading: 0)
let pinLocation = CLLocationCoordinate2D(latitude: latitude, longitude: longitude)
let rotationCamera = MKMapCamera(lookingAtCenter: pinLocation, fromDistance: 2000, pitch: 75, heading: 180)
UIView.animate(withDuration: 10, delay: 0, options: .curveEaseInOut, animations: {
self.mapView.camera = rotationCamera
}, completion: nil)