如何确定当前用户位置是否在我的 MKCooperativeRegion 内?
我有一个坐标区域,我已确定该区域包含我想要为我的应用程序显示的内容的限制。我已将其设置为具有中心点纬度、经度和跨度的 MKCooperativeRegion。如何确定当前 userLocation 是否在我的坐标区域内?
I have a coordinate region that I have determined contains the limits of what I want to show for my app. I have set this up as an MKCoordinateRegion with center point lat, longitude and a span. How do I determine if the current userLocation is inside of my coordinate region?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用地图矩形。这是使用地图当前可见矩形的示例。关于您的问题,您可以使用
convertRegion:toRectToView:
首先将您的区域转换为MKMapRect
。Use map rects. Here's an example using the map's current visible rect. With regards to your question, you could use
convertRegion:toRectToView:
to first convert your region to aMKMapRect
beforehand.Swift 3 版本的 firstresponder 的回答:
几乎一样。该 API 尚未经过 Swift 化(即更新以符合 Swift API 设计指南)。确实应该是......
Swift 3 version of firstresponder's answer:
Pretty much the same. This API has not been Swift-ified (i.e., updated to conform to the Swift API design guidelines) yet. It really should be...
如果某个区域是由使用光线投射算法的多边形给出的,则有一个简单的解决方案可以确定该点是否在您的区域内:请参见此处 http://en.wikipedia.org/wiki/Point_in_polygon
使用保证位于您所在区域之外的位置作为起点,例如(地理)北极。
There is a simple solution to decide if a point is inside your area if the area is given by a polygon using the ray casting algorithm: See here http://en.wikipedia.org/wiki/Point_in_polygon
As a starting point use a location guaranteed to be outside your region, e.g. (geographic) north pole.