【问题标题】:navigator.geolocation.getCurrentPosition Phonegap - Stop alertsnavigator.geolocation.getCurrentPosition Phonegap - 停止警报
【发布时间】:2013-09-10 17:19:35
【问题描述】:

这个问题已经被问过很多次了,但每个答案都是一样的,但它对我不起作用......

当我调用 navigator.geolocation.getCurrentPosition 时,我得到两个警报框。一个是本地的,另一个来自 webview (Safari)。一般的答案是将呼叫置于 Deviceready 呼叫中。我将它放在那个监听器中,但我仍然收到两个警报。 (第二个很丑!)。

关于如何解决这个问题的任何想法?

document.addEventListener('deviceready', function() {
    navigator.geolocation.getCurrentPosition(initialize, onError, { enableHighAccuracy: true });
}

任何帮助都会很棒!

谢谢

【问题讨论】:

  • 警报说你得到了什么?
  • 您好,感谢您的回复。我收到一条警报,允许该应用程序的位置。这对于应用程序来说是正常的,但是一旦应用程序完全加载,我就会获得 index.html 的允许位置。这是需要删除的...

标签: javascript ios cordova


【解决方案1】:

如果您使用的是 Cordova/PhoneGap 3.0 或更高版本,请确保您已将 地理定位插件添加到您的应用项目中,否则您会收到双重警报。

如果使用 Cordova,cd 进入你的项目目录,然后在命令行中输入以下命令:

cordova plugin add org.apache.cordova.geolocation

如果使用 PhoneGap,你可以试试这个命令:

phonegap local plugin add org.apache.cordova.geolocation

感谢 https://stackoverflow.com/a/18839828 的 Robert Verge

【讨论】:

  • 您好,感谢您抽出宝贵时间,但在大量“跳过现有文件”之后出现此错误:{ name: 'SyntaxError', message: 'Expected "/*", "=" or [A-Za-z0-9_] 但是“。”找到。',行:458,列:11 }
  • 刚刚用修改后的插件 URL 更新了我的原始答案,这些 URL 使用了更新、更简单的格式(尽管旧的应该仍然可以工作)。
  • 但是,如果您仍然遇到问题,我建议您升级到 Cordova 3.1(如果您还没有),然后尝试使用全新的 Cordova 项目重新开始。我想我记得曾经遇到过类似的问题,并从一个干净的项目开始修复它。只需保留现有项目的副本,创建新项目,然后将其复制回您的 www 文件夹、应用程序图标、启动画面和您之前在 Xcode 中更改的任何设置。这是一个要点gist.github.com/wicketyjarjar/7042737,详细说明了我通常用来启动新 Cordova 项目的步骤。
  • 感谢您的更新,但我仍然遇到相同的错误...我将尝试 3.1 更新。看看会发生什么。
  • 仍然不高兴,我现在已经放弃了PhoneGap,它似乎让我陷入了整个应用程序的问题。我现在将尝试将其作为原生 iOS 应用程序...
猜你喜欢
  • 2014-05-22
  • 1970-01-01
  • 2012-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-27
  • 2012-01-29
相关资源
最近更新 更多