【问题标题】:Sencha Touch 2.3 - don't do anything until location obtainedSencha Touch 2.3 - 在获得位置之前不要做任何事情
【发布时间】:2014-05-20 13:21:35
【问题描述】:

我是 Sencha Touch 的新手,正在寻求一些建议。我正在构建一个应用程序,该应用程序依赖于通过 Phonegap 获取的用户位置,然后执行诸如调用两个单独的 REST API 之类的操作,然后填充两个列表。

由于此框架中的所有内容都几乎是异步的,因此最佳实践方式是什么?我不希望应用程序让用户做任何事情,除非我们对设备的纬度/经度进行了修复。例如

1) 应用启动

2) 查询位置

3) 等待定位

4) 如果返回成功经纬度则加载存储1,加载存储2,绘制地图并让用户使用应用程序

任何想法都非常感谢,

提姆

【问题讨论】:

    标签: extjs cordova touch


    【解决方案1】:

    我假设您正在使用 phonegap。用户交互发生在从 app.js,launch() 方法加载您的第一个视图之后。因此,与其立即加载视图,不如在完成所有需要做的事情后再加载它。

    Phonegap API 将在设备上准备就绪。

    在你的app.jslaunch()中

    document.addEventListener("deviceready", yourCallbackFunction, false);

    等待回调,然后继续获取位置,

    navigator.geolocation.getCurrentPosition(onSuccess, onError);

    当你完成所有事情后,然后加载你的视图

    Ext.create('ReShare.view.MainView', {fullscreen: true});

    参考资料:

    http://docs.phonegap.com/en/3.4.0/cordova_events_events.md.html#Events https://github.com/apache/cordova-plugin-geolocation/blob/master/doc/index.md

    【讨论】:

    • 感谢您的快速回复。是的,使用Phonegap。你的回答有帮助。问题的一部分是 Sencha Architect 设置了一个总是首先加载的默认视图。将其关闭然后手动创建视图肯定会有所帮助。
    • 但是我仍然有点困惑如何通过 ajax 加载两个商店并在初始化我的视图之前等待它们都被加载?
    • 这篇文章帮助了我sencha.com/forum/…
    • 论坛帖子似乎走上了正轨。但我只是想知道使用 autoLoad 是否不足以满足您的要求?
    • 另外,关于建筑师的两分钱:当我刚开始接触煎茶触摸时,建筑师是学习的天赐之物,然而,对它的限制被证明是变相的滋扰(例如,无法完全编辑文件,难以协作等)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多