当前位置: 首页 > 知识库问答 >
问题:

如何在应用程序初始化之前获得GPS位置?

赖绪
2023-03-14

有一个简单的应用程序,可以获取gps位置。我想在应用程序初始化之前获取gps位置。在我看来,GPS位置是异步更新的,我确实会在后台加载应用程序屏幕,同时弹出一个问题:“允许应用程序使用您当前的位置?”

那么,我如何进行回调(抱歉,来自Ruby/JS后台)以等待获得当前位置。

代码:

- (void)viewWillAppear:(BOOL)animated
{
    // Set the main view to utilize the entire application frame space of the device.
    // Change this to suit your view's UI footprint needs in your application.
    CLController = [[CoreLocationController alloc] init];
    CLController.delegate = self;
    [CLController.locMgr startUpdatingLocation];

    self.view.frame = [[UIScreen mainScreen] applicationFrame];
    [super viewWillAppear:animated];
}

inCoreLocationController. m

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
    NSLog(@"Update location");
    if([self.delegate conformsToProtocol:@protocol(CoreLocationControllerDelegate)]) {
        [self.delegate locationUpdate:newLocation];
        [self.locMgr stopUpdatingLocation];
    # => wait initialisation until this point and than continue

共有1个答案

上官思博
2023-03-14

你真的只需要让你的应用程序启动并运行。

有两件事我会尝试(同时)处理延迟:

>

  • 误导!从打开另一个屏幕开始。让用户对其他内容感兴趣。一次点击的延迟可能就是您获得修复所需的全部时间,特别是如果这不是第一次运行。在第一次运行时,当您知道这需要一点时间时,运行一个占用时间的小教程。

    从最后一个位置开始-如果不准确的位置信息可能有害,这可能不适合您,但您可以存储应用程序退出时收到的最后一个位置,并在再次启动应用程序时将其用作当前位置。当然你想表明的位置是一个猜测在最好的所以你可能想画你自己的位置点与不确定性圆表明整个地图是不确定的区域直到你得到你的第一个GPS修复然后你可以开始画真实位置更新。

    我认为,如果你在等待位置更新时什么也不做,那么这种人为的延迟将是一种更糟糕的用户体验,而不是接受这将需要很短的时间,并在这段时间内尽可能多地去做。

  •  类似资料:
    • 我有一个场景,我试图在Cordova的deviceready事件上初始化我的应用程序。现在,这个初始化序列需要几秒钟的时间来执行。这导致总发射时间远大于预期。我的问题是,是否可以简单地与即将推出的Cordova API和插件并行运行此初始化序列? 注意:初始化没有利用API或插件中的任何内容,所以我不能简单地在加载时立即运行它,而不是在onDeviceReady上运行它吗?

    • 背景:我构建了一个Jersey应用程序(即一个WAR),并在服务器集群上部署它,在不同的服务器上配置不同的Spring配置,以启用或禁用服务器的不同部分,例如,某些服务器启用了资源,等等。这在Jersey 1.0中非常容易:我只是说, 在Spring配置中,让Jersey扫描特定包并启用其中的JAX-RS资源提供者。 现在在Jersey 2.0中,Spring不起作用,因此必须以编程方式在从派生的

    • 问题内容: 我正在使用Flask / Gunicorn运行Web应用程序,并且对生命周期管理有疑问。我在Java世界中拥有关于servlet的更多经验。 我正在为服务创建一个宁静的接口。该服务始终在服务器上运行,并与一组子服务器进行通信和控制。在Java中,将通过侦听器和servlet初始化方法来创建和初始化我的服务(例如,传统上在中找到的设置)。 Flask中的等效设置和配置在哪里?我正在考虑诸

    • 我想从我的控制器类中处理阶段事件(即隐藏)。所以我所要做的就是通过 我自己找到的唯一解决办法是在mypane.sceneProperty()中添加一个侦听器,当它不为null时,我得到scene,添加到它的.windowproperty()my!该死的!我最终检索的侦听器处理阶段。这一切都以设置所需的监听器来上演事件而告终。我觉得听众太多了。这是解决我问题的唯一方法吗?

    • 我想不出如何使爆米花工作,如下所示:https://getbootstrap.com/docs/4.0/components/popovers/. 文档中提到了popover支持是一个插件,并且需要工具提示插件,所以我修改了我的要添加这两个,现在看起来如下所示: 我还没有找到任何关于引导插件概念的文档,所以上面关于和的两行来自搜索,不确定它们是否正确。 留档声明: Popovers是基于性能原因选

    • 如何确保在输入有效输入之前,仍然允许循环,同时初始化此InputStream? 谢谢你