Iphone 使用MKMapView旋转的经验

Iphone 使用MKMapView旋转的经验,iphone,cocoa-touch,mapkit,mkmapview,affinetransform,Iphone,Cocoa Touch,Mapkit,Mkmapview,Affinetransform,我有一个MKMapView,我正在考虑旋转它,以便更方便地向我的用户显示一系列注释 到目前为止,我正计划使用CGAffineTransform简单地旋转整个视图,但我想知道是否有人有过MKMapView旋转的经验 添加旋转时是否遇到任何陷阱或“陷阱” 是否有更简单的方法旋转地图视图 如果我有一个覆盖,convertCoordinate:toPointToView:方法还会以同样的方式工作吗?我假设我必须对叠加应用相同的变换,以便点对齐,但这种方法可能比这更聪明 如果你认为有什么能帮上忙的话,

我有一个MKMapView,我正在考虑旋转它,以便更方便地向我的用户显示一系列注释

到目前为止,我正计划使用CGAffineTransform简单地旋转整个视图,但我想知道是否有人有过MKMapView旋转的经验

  • 添加旋转时是否遇到任何陷阱或“陷阱”
  • 是否有更简单的方法旋转地图视图
  • 如果我有一个覆盖,convertCoordinate:toPointToView:方法还会以同样的方式工作吗?我假设我必须对叠加应用相同的变换,以便点对齐,但这种方法可能比这更聪明
如果你认为有什么能帮上忙的话,我很想听听



编辑:经过多次实验,我相信我将使用静态贴图,我可以自己旋转和覆盖,但是,我仍然对有关MKMapView旋转的任何信息感兴趣。

我开始使用MKMapView旋转,并发现:

  • 将CGAffineTransform应用于地图视图时,convertCoordinate:toPointToView:方法的工作原理相同
  • 注释随视图旋转,包括注释文本
  • 适合的区域在屏幕上看起来仍然适合某个区域,但它不适合地图视图(我使地图视图比其父视图大,因此它可以旋转而不显示后面的视图)

我还计划在我的应用程序中使用旋转的MKMapView。要显示未旋转的注释,我使用以下代码:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation{
    ...
    annotationView.transform = GAffineTransformInvert(mapView.transform);
    ...
}
-(MKAnnotationView*)地图视图:(MKMapView*)地图视图注释:(id)注释{
...
annotationView.transform=GAffineTransformInvert(mapView.transform);
...
}

这似乎对我有用。

这是一个新的例子。希望它能有所帮助。

很抱歉,重新启动一个已完成的主题,但还有一个“问题”:如果您将地图视图调整为足够大,可以旋转,使其始终覆盖整个屏幕,那么您将从左下角裁剪“谷歌”徽标。这与您使用MapKit的许可证明显相反,可能是拒绝应用的理由。实际上,在顶部添加静态版本的Google徽标作为UIImageView似乎是各方都可以接受的。

感谢您提供的信息,我认为annotationView转换只会影响旋转?这个位置是其他变换的函数?很好。实际上,您可以从MKMapView中检索“Google”徽标。MKMapView有2个子视图,一个是包含徽标的UIImageView。我创建了自己的UIImageView,并将其图像属性设置为与MKMapView中的图像属性相同,它可以正常工作。谷歌徽标显示为未旋转。