检测旋转的MkMapView上是否有可见位置

时间:2013-03-26 16:21:26

标签: mkmapview mapkit mkannotation mkannotationview

我正在使用MkMapView和mkusertrackingmodefollowwithheading跟踪模式,以便地图根据罗盘标题旋转。

我需要知道地图视图上是否有特定位置可见。

考虑到mapview正在旋转,这似乎相当困难,但也像许多不同应用程序的共同需求。

有什么办法吗?

谢谢! -c

1 个答案:

答案 0 :(得分:2)

经过几个小时的研究后,我似乎找到了解决方案......

// testing if someLocation is on rotating mapView
CGRect myRect = [self.mapView frame];
CGPoint screenP = [self.mapView convertCoordinate:someLocation toPointView:self.mapView];
if(screenP.x > 0) {
  if(screenP.y > 0) {
    if(screenP.x < myRect.size.width) {
      if(screenP.y < myRect.size.height) {
        return YES;
      }
    }
  }
}
return NO;

无论如何,......这看起来效果很好。 -c