繁体   English   中英

如何确定当前位置是否在KML定义的区域内?

[英]How can I determine if the current position is within a KML-defined area?

我有一些KML数据,它们定义了地图上的区域,例如:

131.0764742247829,-15.80786022929951,0 132.6357700620065,-16.54895727734661,0
134.1119108999971,-17.28040233069844,0 135.8545033459996,-18.1298170074137,0 
137.7396886168202,-19.07860187595016,0 140.011948401144,-20.18462043802856,0 
142.3114600417346,-21.19369381963822,0 144.1566045495202,-22.15731684591415,0

带有KML定义区域的地图

我想确定我的iOS应用程序中用户的当前位置是否在此定义区域内。 我怎样才能做到这一点?

如果您知道圆的中心和半径,则非常简单。

CLRegion *circle = [CLRegion initCircularRegionWithCenter:centerCoordinate radius:circleRadius identifier:@"myCircle"];

BOOL doesItContainMyPoint = [circle containsCoordinate:myLocation];

根据修改后的问题进行更新

我从来没有尝试过,但是您不能用您的点创建UIBezierPath(您不必实际绘制贝塞尔曲线),然后使用UIBezierPath的- (BOOL)containsPoint:(CGPoint)point来测试包含性吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM