标签: core-location

iPhone 3G:如何在固定点附近显示位置?

我通过CoreLocation修复了当前位置.现在我想得到那些位于它附近(大约100英尺)的位置(来自现有的数据库).

我该如何开始?


更新:以下是Haversine公式的实现:http://www.jaimerios.com/? p = 39 (非常有用)

iphone gps cocoa-touch geolocation core-location

0
推荐指数
1
解决办法
746
查看次数

如何隐藏要求用户允许访问核心位置框架中的位置的消息?

我想使用核心位置框架访问用户位置,但不向用户显示"允许访问您的位置"的消息,该用户在查看应用程序时会询问.

有没有办法隐藏这个核心位置框架的混乱.

提前致谢.

iphone core-location ipad

0
推荐指数
1
解决办法
237
查看次数

CLLocation可能无法响应setDistanceFilter

我是iPhone的编程新手,我跟着本书.我坚持第4章,授权和核心位置的例子.

这是我到目前为止编写的代码:WhereamiAppdelegate.h

    #import <UIKit/UIKit.h>
    #import <CoreLocation/CoreLocation.h>

    @interface WhereamiAppDelegate : NSObject <UIApplicationDelegate, CLLocationManagerDelegate> {
        UIWindow *window;
        CLLocation *locationManager;

    }

    @property (nonatomic, retain) IBOutlet UIWindow *window;

    @end
Run Code Online (Sandbox Code Playgroud)

这是实现文件:我只包含了我所做的更改.整个文件都在这里.

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        // Create location manager.
        locationManager = [[CLLocation alloc] init];
        [locationManager setDelegate:self];
        [locationManager setDistanceFilter:kCLDistanceFilterNone];
        [locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
        [locationManager startUpdatingLocation];

    [self.window makeKeyAndVisible];
    return YES;
}

- (void)dealloc
{
    [locationManager setDelegate:nil];
    [_window release];
    [super dealloc];
}

- (void)locationManager:(CLLocationManager *)manager
    didUpdateToLocation:(CLLocation *)newLocation
           fromLocation:(CLLocation *)oldLocation
{
    NSLog(@"%@",newLocation);
}

- (void)locationManager:(CLLocationManager …
Run Code Online (Sandbox Code Playgroud)

iphone core-location ios

0
推荐指数
1
解决办法
1006
查看次数

检查点是否落在地理围栏内?

是否可以使用iOS 5 API检查给定的经度和纬度是否属于给定的GeoFence?怎么样?

objective-c core-location ios geofencing

0
推荐指数
1
解决办法
2443
查看次数

从ios的纬度和经度获取地址

我一直在为ios编程,我需要得到地址.如何以json或其他格式从纬度和经度获得完整地址?没有互联网连接我可以得到它吗?感谢您的关注.

core-location mkmapview ios

0
推荐指数
1
解决办法
6307
查看次数

如何阻止Xcode忽略我的iOS应用程序的CoreLocation.framework?

我目前正在通过Xcode构建一个iOS应用程序,它使用了corelocation.framework,但不幸的是我遇到了一些麻烦.我下载了Apple的LocateMe示例应用程序,当我通过模拟器运行它时,它运行正常(没有错误或警告).

然后,我构建了一个空的单页应用程序,并将corelocation.framework文件添加到其中.当我编译并运行它时,我收到一个警告:

 (null): Ignoring file/Users/Andrew/Documents/GoogleDrive/Developer/
 Xcode/Apps/GetLocation/CoreLocation.framework/CoreLocation, file
 was built for unsupported file format ( 0xce 0xfa 0xed 0xfe 0x c 0x
 0 0x 0 0x 0 0x 9 0x 0 0x 0 0x 0 0x 6 0x 0 0x 0 0x 0 ) which is not
 the architecture being linked (i386):/Users/Andrew/Documents/
 GoogleDrive/Developer/Xcode/Apps/GetLocation/CoreLocation.framework
 /CoreLocation
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用Finder找到框架并添加它,并将框架从Apple的应用程序拖到我的应用程序中.两者都生成相同的警告.

除了文件目录似乎很好(这是我的应用程序存储的地方)之外,我不能说上述错误,而i386我相信代表我的MacBook Air的集成图形芯片组.

我也尝试将Apple的应用程序降低到基本水平,但这很难 - 他们决定制作一个相当复杂的应用来代表这项技术.

不幸的是,我对这一切的了解需要改进,我确实感觉自己正在用这个任务跳起来,但是我有一个赌注 - 需要在15日之前完成这项工作!

因此,如果有人能提供关于为什么要生成此警告的一些指导,以及我如何解决它,那将非常感激.

UPDATE

我仔细看了一下Apple的LocateMe应用程序,我注意到这个版本适用于iOS 3.2.当我将其更改为iOS 5.1时,除了单个错误外,一切都很好 - 不推荐使用locationServicesEnabled.

xcode core-location ios

0
推荐指数
1
解决办法
1026
查看次数

为什么即使我在后台要求更新位置,我的iOS应用程序也会被杀?

我的iOS应用程序有时会被杀死,即使我在"必需的背景模式"下的plist中放置了"应用程序寄存器进行位置更新".

- (void)applicationDidEnterBackground:(UIApplication *)application
{
 NSDate *dateEnteredIntoBackground = [NSDate date];

 FSLog(@"*** ENTERING BACKGROUND ***");

 [application beginBackgroundTaskWithExpirationHandler:^{ 

    NSDate *dateOfTermination = [NSDate date];              

}];
}
Run Code Online (Sandbox Code Playgroud)

在监视上面的代码的同时,当它被踢出时,NSDate对象总是相隔10分钟.

但是:为了让事情更加令人困惑,我很多时候应用程序很乐意在后台运行超过30分钟而不会终止.作为一项额外的测试,我将iPhone置于法拉第笼中,以确保不会调用位置委托更新(通过回读书面日志文件来确认); 所以似乎可以排除.

任何线索/建议?

谢谢

卡尔.

iphone gps core-location ios

0
推荐指数
1
解决办法
631
查看次数

仅在第二次调用startUpdatingLocation后获取当前位置

{
...
locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    locationManager.desiredAccuracy = kCLLocationAccuracyBest;
}

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {

        NSLog(@"myLocation1: %@",[locations lastObject]);
        myLocation = [locations lastObject];
        NSLog(@"myLocation2: %@",[locations lastObject]);
        [manager stopUpdatingLocation];

        [self doSomethingWithLocation];    
}
Run Code Online (Sandbox Code Playgroud)

目前我在40.000,40.000的位置.我正在关闭我的应用并将位置更改为10.000,10.000

再次进入应用程序并运行[locationManager startUpdatingLocation];我的日志将显示:

myLocation1: <+40.00000000,+40.00000000>
myLocation2: <+40.00000000,+40.00000000>
Run Code Online (Sandbox Code Playgroud)

如果我[locationManager startUpdatingLocation];再次触发,我的日志将显示:

myLocation1: <+10.00000000,+10.00000000>
myLocation2: <+10.00000000,+10.00000000>
Run Code Online (Sandbox Code Playgroud)

如何拨打didUpdateLocations一次并仍然获取当前位置?我应该使用其他代表吗?

我想我可以把它放在stopUpdatingLocation里面doSomethingWithLocation并在doSomethingWithLocation经过某种延迟之后运行,以便更新正确的位置,但我确信这不是它的意思.

谢谢

objective-c core-location ios

0
推荐指数
1
解决办法
1494
查看次数

Apple Watch核心位置错误***断言失败 - [CLLocationManager requestLocation]

我尝试使用coreLocation在Apple Watch上获取用户当前位置.每当我运行时-[CLLocationManager requestLocation],应用程序退出并发出以下错误.

2016-02-07 16:38:39.392 Placescope Apple Watch Extension[6255:1471552]     *** Assertion failure in -[CLLocationManager requestLocation], /BuildRoot/Library/Caches/com.apple.xbs/Sources/CoreLocationFramework_Sim/CoreLocation-1861.3.25.31/Framework/CoreLocation/CLLocationManager.m:816
2016-02-07 16:38:39.395 Placescope Apple Watch Extension[6255:1471552] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Delegate must respond to locationManager:didUpdateLocations:'
*** First throw call stack:
(
    0   CoreFoundation                      0x00bb9fc4 __exceptionPreprocess + 180
    1   libobjc.A.dylib                     0x00671df4 objc_exception_throw + 50
    2   CoreFoundation                      0x00bb9e5a +[NSException raise:format:arguments:] + 138
    3   Foundation                          0x0029a008 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 118
    4   CoreLocation                        0x0013a4f9 CLClientGetCapabilities + 12683
    5   Placescope Apple Watch …

objective-c core-location ios watchkit

0
推荐指数
1
解决办法
1311
查看次数

如何跟踪设置locationManager.delegate的正确方法?

我尝试使用CoreLocation和Swift来跟踪用户的位置:(
下面你可以找到可能的ViewController.swift文件的代码.)

但是代码似乎没有像我预期的那样工作,因为我每次启动应用程序时仍然会得到相同的错误:

无法指定

我确定这就是为什么我无法从locationManager()打印出当前位置的函数中得到结果的问题.

它说 "Cannot assign value of type 'ViewController' to type 'CLLocationManagerDelegate?'"

import UIKit
import CoreLocation 

class ViewController: UIViewController, WKUIDelegate {
  override func viewDidLoad() {
    super.viewDidLoad()
    if CLLocationManager.locationServicesEnabled() {
        print("CLLocationManager is available")
        locationManager.desiredAccuracy = kCLLocationAccuracyThreeKilometers
        locationManager.delegate = self
        locationManager.startUpdatingLocation()
    }
  }

  let locationManager = CLLocationManager()

  func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
    if let location = locations.first {
        print(location.coordinate)
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

现在有人如何解决这个问题? - 非常感谢任何帮助,感谢提前一百万.

location core-location ios swift

0
推荐指数
1
解决办法
657
查看次数