Mkmap查看用户位置
Posted
技术标签:
【中文标题】Mkmap查看用户位置【英文标题】:MkmapView UsersLocation 【发布时间】:2014-03-28 08:36:02 【问题描述】:我正在开发一个基于MKMapView
的App,App的要求是检测userLocation(用蓝点表示)是在屏幕的可视区域还是在可视屏幕之外面积。
在地图加载开始时,它会自动将其位置设置为用户的位置,但我想在用户滚动地图视图后检测当前位置是否在屏幕的可见区域内。
请提供有用的解决方案并帮助我。
提前致谢。
【问题讨论】:
Check if user location is visible on map iphone的可能重复 【参考方案1】:只需使用userLocationVisible
(我不记得但@Volker 提醒了我)
任何注释:
获取位置并检查像素坐标是否可见
-
从地图中获取用户位置
获取它的坐标
将其转换为地图点 (MKMapPointForCoordinate)
获取地图视图的可见 mapRect
使用 MKMapRectContainsPoint
MKMapRect visibleRect = self.mapView.visibleMapRect;
MKMapPoint pt = MKMapPointForCoordinate(self.mapview.userLocation.coordinate);
BOOL visible = MKMapRectContainsPoint(visibleRect, pt);
【讨论】:
为什么不直接使用userLocationVisible
?
@Volker :D 因为我不记得了
这是我自己问题的答案:- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated if (!mapView.userLocationVisible) NSLog(@"userlocation is not可见的”); else NSLog(@"用户位置现在可见");
感谢您的 Volker 和 Daij-Djan 的回答,这帮助我实现了我想要实现的目标。以上是关于Mkmap查看用户位置的主要内容,如果未能解决你的问题,请参考以下文章
如何使用蓝点在我的 MKMapView 上显示我当前的位置和区域?
在 xamarin ios 中使用 MkMap 不会出现路线