【问题标题】:MKMapView in reverse, when compass mode using in my iphone app project在我的 iphone 应用程序项目中使用指南针模式时,反向 MKMapView
【发布时间】:2012-10-13 12:37:33
【问题描述】:

我正在开发一个 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)];

 }];  
}

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

`

提前感谢您的帮助。

【问题讨论】:

  • 您在本网站上问了其他四个问题,但没有接受任何答案。如果你不加入,人们迟早会停止帮助你。

标签: objective-c ios mkmapview cllocationmanager compass-geolocation


【解决方案1】:

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

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

【讨论】:

  • 我把这一行放在 viewdidload [mapView setUserTrackingMode:MKUserTrackingModeFollowWithHeading animated:TRUE];但它不会对我的地图进行任何更改,当我的设备旋转时,我的地图再次反向旋转。
  • 这与您想要的完全相反吗?然后从你的计算中去掉负号。如果你把你的代码全部拿出来,MKUserTrackingModeFollowWithHeading 做你想做的事吗?
  • 当我使用指南针模式时,如何在 MKMapView 中获取我的图钉的旋转角度。?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-07
相关资源
最近更新 更多