如何使用iPhone实施地理围栅。iPhone的地理围栏问题
是否有任何库可用于实现?
我想知道iPhone是否是内的多边形或圆形的服务器定义或OUTSIDE所以如果设备出方指定的范围内,那么它应该告诉服务器。
如何执行此类任务。
在此先感谢
如何使用iPhone实施地理围栅。iPhone的地理围栏问题
是否有任何库可用于实现?
我想知道iPhone是否是内的多边形或圆形的服务器定义或OUTSIDE所以如果设备出方指定的范围内,那么它应该告诉服务器。
如何执行此类任务。
在此先感谢
您可能想要使用CLLocationManager。请参阅CLLocationManagerDelegate。 这里有两种方法。
- (void)locationManager:(CLLocationManager *)manager
didEnterRegion:(CLRegion *)region;
- (void)locationManager:(CLLocationManager *)manager
didExitRegion:(CLRegion *)region;
有很多方法可以计算出你的内部是多边形还是外部。最简单的是通过W. Randolph Franklin使用光线投射法在此功能详细:
int pnpoly(int nvert, float *vertx, float *verty, float testx, float testy)
{
int i, j, c = 0;
for (i = 0, j = nvert-1; i < nvert; j = i++) {
if (((verty[i]>testy) != (verty[j]>testy)) &&
(testx < (vertx[j]-vertx[i]) * (testy-verty[i])/(verty[j]-verty[i]) + vertx[i]))
c = !c;
}
return c;
}
为了测试agsint内或外循环,才算你的距离为圆心,并确定它是短于半径如果它。