【问题标题】:Unable to get current location无法获取当前位置
【发布时间】:2011-11-14 12:54:30
【问题描述】:

我正在开发一款 Titanium 应用程序(目前针对 iPhone 部署,但最终旨在跨平台),该应用程序需要我识别多个机构位置并显示与手机当前位置的距离。当我尝试使用 Titanium 的 Ti.Geolocation.getCurrentPosition() API 确定当前位置时,我得到的只是以下消息:Location Services Disabled。

我正在 iPhone 模拟器中进行测试,并且我读到了关于位置服务是否在安装了 Xcode 4.x(我正在运行 4.2)的模拟器中工作的相互矛盾的消息,所以我想我会在这里问更多的观众:

  1. 应该我能够使用 Xcode 4.2 识别我在模拟器中的当前位置吗?
  2. 如果是这样,我需要做什么才能启用定位服务?我还没有找到任何可以启用这些服务的方法。

不管它值多少钱,这里是我尝试运行的代码的相关 sn-p:

// purpose is required for iPhone 3.2+
Ti.Geolocation.purpose = 'Determine the current distance to each Inova Health System location.';

Ti.Geolocation.getCurrentPosition( function( e ) {
    alert( e.coords );
});

感谢您的帮助。

【问题讨论】:

    标签: iphone xcode4 titanium titanium-mobile


    【解决方案1】:

    在 Xcode 4.2 中,模拟器位置服务再次运行。所以是的,你甚至可以设置位置。调试 -> 位置,应该有一个列表。

    但是您收到的消息看起来可能为您的应用禁用了定位服务,请去检查模拟器中的设置应用,并在真实设备上检查。

    【讨论】:

    • 我认为你是对的,这是在应用程序/模拟器级别。不幸的是,我现在手头没有实际的设备,所以我被模拟器困住了。知道在模拟器设置中的哪里可以找到位置设置吗?我没有看到任何看起来以位置为中心的东西。再次感谢。
    • 它是我模拟器中设置应用程序中的第一个选项,称为Location Services
    • 很奇怪。 “一般”是我的第一选择。我的模拟器版本是 5.0 (272) 版。我需要升级吗?我以为升级 XCode 也会升级模拟器,但可能不会?
    • 那和我的一样,你是在官方mac上使用Xcode吗,已经知道定位服务不能在hackinthos上工作。还要确保已在调试菜单中打开位置服务。
    • 我正在攻读 13" MBA,所以它是官方的和最近的。在我的模拟器的 About 设置中,我将 Version 显示为 4.3.2 (8H7)。我认为这是 iOS 版本,但是这是一个非常未受教育的假设。
    猜你喜欢
    • 2014-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多