Phonegap (Cordova 2.9.0) iOS 上的地理定位

Posted

技术标签:

【中文标题】Phonegap (Cordova 2.9.0) iOS 上的地理定位【英文标题】:geolocation on Phonegap (Cordova 2.9.0) iOS 【发布时间】:2013-11-02 12:36:41 【问题描述】:

我正在使用 Cordova 2.9.0 和 Xcode 5.0

我正在尝试做这个教程:http://docs.phonegap.com/en/2.4.0/cordova_geolocation_geolocation.md.html

我从 geolocation.getCurrentPosition 复制了代码,并在那里复制了“完整示例”(带有 html 和 javascript 代码)

我检查了我的 config.xml,它有

<feature name="Geolocation">
  <param name="ios-package" value="CDVLocation"/>
</feature>

我在 iPhone 模拟器中得到的只是:“正在查找地理位置...” 但我等了大约 5 分钟,什么也没发生 - 没有得到任何地理位置数据。

希望有人能帮帮我

【问题讨论】:

【参考方案1】:

您可以尝试一些方法,或者如果这些方法无法解决问题,请发布更多详细信息:

您的链接指向 2.4 版的 Cordova 文档,而您使用的是 2.9,因此尽管地理定位规范没有太大变化,但最好使用该版本的文档。

检查您是否包含了 cordova.js 文件。在文档中的示例中,js 文件名为“cordova-x.x.x.js”,您当然需要将其替换为项目/版本的正确文件名。

在 iPhone 模拟器上(实际上不是检查地理位置的最佳方法)检查​​您是否设置了模拟位置:转到“调试”>“位置”并选择预定义的位置或自定义位置。

李>

添加console.log() 调用或alert() 以检查侦听器是否正在执行并检查插件是否存在,例如:

函数 onDeviceReady() alert("在设备就绪监听器上执行"); 警报(navigator.geolocation); navigator.geolocation.getCurrentPosition(onSuccess, onError);

【讨论】:

感谢您的快速回答。两个问题:我如何安装控制台和警报插件 - 我有一个cordova-2.5.0 www-文件夹中的.js文件,而不是cordova-2.9.0.js - 我检查了我下载phonegap-2.9.0的文件夹。文件夹 phonegap-2.9.0>lib>ios>CordovaLib 中只有一个 cordova.js。我应该用这个cordova.js替换cordova-2.5.0.js吗? 对于奇怪的格式感到抱歉 - 我不太清楚如何在评论中进行换行(我想用 或 2 个空格) 关于 Cordova 2.9 中的 console:***.com/questions/17735084/…。我很确定 alert() 可以在没有通知插件的情况下工作,但如果没有,你将需要那个。是的,您确实应该使用与您的 Cordova 版本匹配的 cordova.js 文件,每个版本和平台都不同。

以上是关于Phonegap (Cordova 2.9.0) iOS 上的地理定位的主要内容,如果未能解决你的问题,请参考以下文章

如何在 IOS 7 的 cordova 2.9.0 中删除状态栏?

Phonegap插件编写注册与使用

用于 ios 的 PhoneGap 插件返回 FAILED pluginJSON

如何使用 phonegap 应用程序获取所选图像的 URL

Cordova/Phonegap:无法让 Facebook Phonegap 插件工作

Phonegap 2.9.0 不在默认浏览器中打开外部链接