【发布时间】:2014-03-28 08:36:02
【问题描述】:
我正在开发一个基于MKMapView的App,App的要求是检测userLocation(用蓝点表示)是在屏幕的可视区域还是在可视屏幕之外面积。
在地图加载开始时,它会自动将其位置设置为用户的位置,但我想在用户滚动地图视图后检测当前位置是否在屏幕的可见区域内。
请提供有用的解决方案并帮助我。
提前致谢。
【问题讨论】:
标签: ios objective-c mkmapview cllocationmanager
我正在开发一个基于MKMapView的App,App的要求是检测userLocation(用蓝点表示)是在屏幕的可视区域还是在可视屏幕之外面积。
在地图加载开始时,它会自动将其位置设置为用户的位置,但我想在用户滚动地图视图后检测当前位置是否在屏幕的可见区域内。
请提供有用的解决方案并帮助我。
提前致谢。
【问题讨论】:
标签: ios objective-c mkmapview cllocationmanager
只需使用userLocationVisible(我不记得但@Volker 提醒了我)
任何注释:
获取位置并检查像素坐标是否可见
使用 MKMapRectContainsPoint
MKMapRect visibleRect = self.mapView.visibleMapRect;
MKMapPoint pt = MKMapPointForCoordinate(self.mapview.userLocation.coordinate);
BOOL visible = MKMapRectContainsPoint(visibleRect, pt);
【讨论】:
userLocationVisible?