ios - mkmap查看用户位置

标签 ios objective-c mkmapview cllocationmanager

我正在开发一个基于MKMapView的应用程序,该应用程序的要求是检测userLocation(由蓝点表示)是否位于屏幕的可见区域或它在可见屏幕区域之外。

在开始加载 map 时,它会自动将其位置设置为用户的位置,但我想在用户滚动 map View 后检测当前位置是否在屏幕的可见区域中。

请提供有用的解决方案并帮助我。

提前致谢。

最佳答案

只需使用userLocationVisible(我不记得了,但@Volker 提醒了我)


任何注解:

获取位置并检查像素坐标是否可见

  1. 从 map 中获取用户位置
  2. 得到它的坐标
  3. 将其转换为 map 点 (MKMapPointForCoordinate)
  4. 获取 map View 的可见mapRect
  5. 使用 MKMapRectContainsPoint

    MKMapRect visibleRect = self.mapView.visibleMapRect;
    MKMapPoint pt = MKMapPointForCoordinate(self.mapview.userLocation.coordinate);
    
    BOOL visible = MKMapRectContainsPoint(visibleRect, pt);
    

关于ios - mkmap查看用户位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22707730/

相关文章:

ios - UINavigationController 与嵌入 NavigationController 的 viewController

ios - 关于iOS中drawRect的问题

ios - 检查给定字符是否是 Objective-C 中的表情符号

objective-c - iOS 5 阻止 ARC 桥接转换

iphone - MKOverlayView 和 OpenGL

ios - NSDateFormatter 结果为 null NSString

ios - 更改任何 swift 代码后 Umbrella 头文件未更新

ios - 如何将当前时间拆分为 3 个字符串;时、分、秒

ios - iOS 6 中的 map 问题

iphone - MKMapView setRegion animated 不显示动画