0

我正在开发一个 iphone 应用程序,在该应用程序中,我在 MKMapView 的不同位置显示客户端停车位。现在我需要在 MKMapView 中使用指南针模式来显示特定方向(SE、SW、NE、NW)的客户端停车位,为此我运行下面的代码。

-(void)updateHeading:(CLHeading *) newHeading  
{ 

  NSLog(@"New magnetic heading: %f", newHeading.magneticHeading);
  NSLog(@"New true heading: %f", newHeading.trueHeading);

  double rotation = newHeading.magneticHeading * 3.14159/-180;

  [mapView setTransform:CGAffineTransformMakeRotation(-rotation)];

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

    [view setTransform:CGAffineTransformMakeRotation(rotation)];

 }];  
}

Everthing 在 MKMapView 中工作正常,但我的 MKMapView 以相反的顺序显示,当设备开始旋转时,我在 ios5 和 ios6 中也面临这个问题。注意:当我在美国测试这个应用程序时,地图显示正确,而我在我的位置(印度)测试应用程序时,地图变成了反向。

MKMapView 显示反向地图,而设备开始旋转。 `

提前感谢您的帮助。

4

1 回答 1

1

地图是否打算在旋转时以用户为中心?如果是这样,您只需将 MKMapView 的 userTrackingMode 设置为 MKUserTrackingModeFollowWithHeading。

如果不是,那么请告诉我们您在磁性航向、真航向和旋转中看到的情况,当事情顺利和出错时。

于 2012-10-13T23:33:59.647 回答