gpt4 book ai didi

iphone - 使用指南针方向旋转 MapView

转载 作者:行者123 更新时间:2023-12-03 18:41:08 26 4
gpt4 key购买 nike

是否可以让嵌入的 MKMapView 旋转以始终面向 iPhone 所面向的方向?基本上我想在我自己的应用程序上模仿 map 应用程序旋转功能。

我发现 iPhone SDK 没有公开该功能。但是,我想知道使用 CGAffineTransformMakeRotate 旋转整个 View 是否有效。会影响点击和缩放吗?有更好的办法吗?

最佳答案

要旋转 map View 而不旋转注释,您可以使用以下代码来补偿 map 旋转。

- (void)locationManager:(CLLocationManager *)manager
didUpdateHeading:(CLHeading *)newHeading
{
double rotation = newHeading.magneticHeading * 3.14159 / 180;
CGPoint anchorPoint = CGPointMake(0, -23); // The anchor point for your pin

[mapView setTransform:CGAffineTransformMakeRotation(-rotation)];

[[mapView annotations] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
MKAnnotationView * view = [mapView viewForAnnotation:obj];

[view setTransform:CGAffineTransformMakeRotation(rotation)];
[view setCenterOffset:CGPointApplyAffineTransform(anchorPoint, CGAffineTransformMakeRotation(rotation))];

}];

}
<小时/>

另一个解决方案是使用 iOS 5 中添加到 MKMapView 的新方法。

看看:http://developer.apple.com/library/ios/#documentation/MapKit/Reference/MKMapView_Class/MKMapView/MKMapView.html

- (void)setUserTrackingMode:(MKUserTrackingMode)模式动画:(BOOL)动画;

关于iphone - 使用指南针方向旋转 MapView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1245461/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com