Tag: 核心位置

CoreLocation的准确性测量有多准确

我一直在testingCoreLocation的各个方面的准确性,并且惊讶地发现传递给CLLocationMangerDelegate方法的新旧位置提供的准确性值:(void)locationManager:didUpdateToLocation:fromLocation本身是非常不准确的。 走过一段路面(沿着一条沿着一侧build筑物的道路),我发现虽然CLLocationManager声称它所提供的CLLocations具有5米的水平精度,实际上MKUserAnnotation所显示的位置是任何达到离我所在的位置30米远(通常显示为一排build筑物的对面)。 这表明准确度读数本身并不准确。 CLLocationManager告诉我它的坐标精确到5米以内,但实际上多达30米。 澄清,这不是一个caching/时间戳问题它是在某些地区可重复,而不是随着时间的推移而改善。 有没有其他人遇到过这个问题?

diddeterminestate并不总是被称为

其他人有没有总是被称为diddeterminestate的问题? 有时候我打电话 [self.locationManager requestStateForRegion:region]; 没有任何反应 好奇的是,当我插入一个中断点 -(void)locationManager:(CLLocationManager *)manager didDetermineState:(CLRegionState)state forRegion:(CLRegion *)region 它开始工作,被称为! 对我来说这似乎很不稳定。

背景区域监控信标区域不工作

在应用程序处于后台时,我遇到了区域监视问题。 如果应用程序处于前台,区域进入和退出被调用,但不在后台(有时它们会触发,但很less)。 信标区域监视如何在iOS 8.1.1上工作? 当在烽火台附近时,地区是否应该立即进入/退出火场? 我该怎么做,以确保它的工作? 做Background Modes : Location Updates或Uses Bluetooth LE accessories必须打开后台信标监测工作? GeoFencing为我工作,而没有这些。 我已经做了什么: 为每个地区设置这些: beaconRegion.notifyOnExit=YES; beaconRegion.notifyOnEntry=YES; beaconRegion.notifyEntryStateOnDisplay = YES; 确保设置中的一切都是按顺序的(应用程序刷新等) 编辑: 我创build了一个新的项目,但仍然无法正常工作。 代码如下: – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { _locationManager = [[CLLocationManager alloc] init]; _locationManager.pausesLocationUpdatesAutomatically = NO; _locationManager.desiredAccuracy = 25; _locationManager.delegate = self; [_locationManager requestAlwaysAuthorization]; [_locationManager startUpdatingLocation]; CLBeaconRegion* reg =[self prepareBeacon:@"here i […]

MKCoordinateSpan和CLLocationCoordinate2D有什么区别?

我正在通过MapKit和CoreLocation框架的示例。 我发现这两个结构( MKCoordinateSpan和CLLocationCoordinate2D )在声明上是相似的。 这些function有什么不同,有人可以请一个例子(使用两个)来清除它们的含义。 谢谢!

我可以使用Xcode模拟器testing显着变化吗?

我想知道是否可以在Xcode模拟器中testing重大更改位置服务(startMonitoringSignificantLocationChanges方法),还是只能在实际设备中使用。 注意,我已经在模拟器中试过了,但是它不起作用,但是我不确定这是否仅仅是因为它在模拟器上不起作用,或者是因为我做了错误的事情。 谢谢

更改iOS地图中的Pin方向

SWIFT 3.0 的MKMapView iOS版 注意: – (集成AppleMap ,不适用于GoogleMap ) 我做了以下几件事: 实施地图和添加自定义图像到用户位置注释 当地图打开时,它显示用户位置在正确的地方 我的要求: 当用户移动到不同的方向停留在同一地点(或不同的地方)时,引脚(当前位置)应该自动指向用户指向的方向。 例如:如果船在用户位置位置显示并且其指向北方,但是如果用户移向西方,则船(用户位置引脚)也应该指向该方向。 用下面的代码试过: //MARK:Change Direction Methods func angle(fromCoordinate first: CLLocationCoordinate2D, toCoordinate second: CLLocationCoordinate2D) -> Float { let deltaLongitude = second.longitude – first.longitude let deltaLatitude = second.latitude – first.latitude let angle = (.pi * 0.5) – atan(deltaLatitude / deltaLongitude) if deltaLongitude > 0 […]

几秒钟后,ios7中的操作系统杀死了应用程序

我正在为iOS 7创build基于导航的应用程序,因为我正在使用用户位置数据,使用CoreLocation框架, 应用程序的要求是在特定的时间开始获取用户在后台的位置,为此,我已经使用didReceiveRemoteNotification fetchCompletionHandler:方法实现了无声Pushnotification, 我已经成功地实现了这个使用无声Pushnotification及其调用startUpdatingLocation ,我能够获取委托方法中的位置数据: 使用这个有效载荷: {"aps" : {"content-available" : 1},"SilentPush" : "4"} 我已启用背景模式的location和remote notification : – (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))handler { __block UIBackgroundTaskIdentifier bgTask =0; UIApplication *app = [UIApplication sharedApplication]; bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ [self.locationManager startUpdatingLocation]; }]; didUpdateLocations – (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations { lastLoc=[locations lastObject]; [logFile addLocObject:[NSString stringWithFormat:@"Loc: %@",lastLoc]]; […]

如何陷阱的位置警报响应iphone

我在iPhone上使用GPS,它显示使用位置服务的构造消息。 我想陷入用户select“允许”或“否”。 任何人可以build议我如何做到这一点? 谢谢

MKMapView:缩放到默认的“国家级”

当把一个MKMapView放到一个UIViewController中,并将其设置为卫星视图时,地图将被放大和调整,以显示用户当前位于的整个国家:例如美国,如下所示。 当用户现在缩放地图,或者以编程方式缩放地图时,似乎无法恢复此默认缩放级别。 当然,我可以find这个默认缩放的坐标,以放大回到那个设置,但实际上我需要为每个国家这样做,这是不值得的。 有人知道如何解决这个问题吗?

iOS Swift – 用NSTimer重新加载位置function,为应用程序背景不起作用

我的位置服务有问题。 我不能设置一个函数,通过NSTimer在后台更新我的位置坐标。 这是我的代码从AppDelegate: var locationManager = CLLocationManager() func applicationDidEnterBackground(application: UIApplication) { self.locationManager.delegate = self self.locationManager.desiredAccuracy = kCLLocationAccuracyBest self.theTimer = NSTimer(fireDate: NSDate(), interval: 40, target: self, selector: "handleTimer", userInfo: nil, repeats: true) NSRunLoop.currentRunLoop().addTimer(self.theTimer, forMode: NSDefaultRunLoopMode) } func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) { var locValue:CLLocationCoordinate2D = manager.location.coordinate println("dinBack = \(locValue.latitude) \(locValue.longitude)") self.locationManager.stopUpdatingLocation() } func handleTimer(){ println("started") […]