我正在开发一个基于MKMapView
的应用程序,该应用程序的要求是检测userLocation(由蓝点表示)是否位于屏幕的可见区域或它在可见屏幕区域之外。
在开始加载 map 时,它会自动将其位置设置为用户的位置,但我想在用户滚动 map View 后检测当前位置是否在屏幕的可见区域中。
请提供有用的解决方案并帮助我。
提前致谢。
最佳答案
只需使用userLocationVisible
(我不记得了,但@Volker 提醒了我)
任何注解:
获取位置并检查像素坐标是否可见
- 从 map 中获取用户位置
- 得到它的坐标
- 将其转换为 map 点 (MKMapPointForCoordinate)
- 获取 map View 的可见mapRect
使用 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/