【问题标题】:iOS Geofencing not calling 'didEnterRegion' ,didExitRegion, 'didStartMonitoringForRegion'iOS地理围栏不调用'didEnterRegion',didExitRegion,'didStartMonitoringForRegion'
【发布时间】:2017-09-05 14:22:50
【问题描述】:

iOS 地理围栏未在目标 c 中调用 didEnterRegiondidExitRegiondidStartMonitoringForRegion

我想实现一个单视图应用程序,我在可可豆荚中使用 Google 地图 SDK。

我已经像这样在 info.plist 中包含了适当的键

 <key>NSLocationAlwaysUsageDescription</key>
 <string>Location is required for geofence</string>
 <key>NSLocationWhenInUseUsageDescription</key>
 <string>Location is required for geofence</string>

这是我的代码:

- (void)viewDidLoad {
[super viewDidLoad];
double Lat=22.569643; 
double Lon=88.432058; 
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:Lat longitude:Lon zoom:14];
_mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
self.view=_mapView;
_mapView.myLocationEnabled = YES;
circ = [GMSCircle circleWithPosition:CLLocationCoordinate2DMake(Lat, Lon) radius:52];
circ.fillColor = [UIColor colorWithRed:0.25 green:0 blue:0 alpha:0.05];
circ.strokeColor = [UIColor redColor];
circ.strokeWidth = 1;
circ.map = _mapView;
 CLCircularRegion *cir=[[CLCircularRegion alloc]initWithCenter:CLLocationCoordinate2DMake(Lat, Lon) radius:52 identifier:@"hi"];
locationManager = [CLLocationManager new];
[locationManager requestAlwaysAuthorization];
locationManager.delegate = self;
locationManager.distanceFilter = 10.0;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startMonitoringForRegion:cir];
cir.notifyOnEntry = YES;
cir.notifyOnExit = YES;
[locationManager startUpdatingLocation];
}

【问题讨论】:

  • 你在模拟器上运行你的代码吗?
  • 不..它在 Iphone 上运行

标签: ios objective-c iphone google-maps geofencing


【解决方案1】:

Apple 表示(在Location & Maps PG 中)应假定区域的最小距离为 200m。

具体的阈值距离由硬件和当前可用的定位技术决定。例如,如果禁用 Wi-Fi,则区域监控的准确性会大大降低。但是,出于测试目的,您可以假设最短距离约为 200 米。

我在地理围栏方面也遇到了类似的问题。将半径增加到 100m 时效果很好。如果您想监控半径较小的区域,您应该监听位置更新并检查该位置是否存在于该点周围的区域中。

【讨论】:

    猜你喜欢
    • 2014-09-30
    • 2015-02-15
    • 1970-01-01
    • 2011-05-08
    • 2015-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多