ios - Phonegap GPS 询问两次

标签 ios iphone cordova gps phonegap-plugins

我意识到这个问题已经被问了 100 次,我觉得我已经阅读了每个问题和答案,但我还没有找到解决问题的方法。

我已正确安装和配置 PhoneGap 插件。

我已确认所有文件都位于插件 > org.apache.cordova.geolocation 文件夹中

这是对我的 config.xml 中的地理定位功能的调用

<feature name="Geolocation">
    <param name="android-package" value="org.apache.cordova.geolocation.GeoBroker" />
    <param name="ios-package" value="CDVLocation" />
</feature>

我的应用程序仅在用户要求查找其位置时才调用地理定位。尽管如此,我还是确保使用:

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

在调用地理定位之前确保设备准备就绪。

第一个请求使用我的应用名称。第二个调用显示一个长而难看的 url。在第一个请求之后,应用程序名称请求消失了(到目前为止完美)但是丑陋的 url 仍然请求许可。

设备准备就绪后,我将位置调用绑定(bind)到点击事件,如下所示:

  geocoder = new google.maps.Geocoder();

  $("#my-location").bind( "tap", function(e){
      //unrelated code omitted
      //I know these times are big, but this is just testing at this point
      var options = { maximumAge: 3600000, timeout: 60000, enableHighAccuracy: true };

      if(map != null){
            circle.setMap(null);
            personalCircle.setMap(null);
            google.maps.event.clearInstanceListeners(map);
            deleteMarkers();
            map = null;
      }

      navigator.geolocation.getCurrentPosition(onSuccess, onError, options);
});

提前感谢您的建议。如果您想查看任何其他代码,请告诉我。

编辑 根据@cagdas 的建议,我将以下几行添加到我的 config.xml 中。仍然遇到同样的问题。

<gap:plugin name="org.apache.cordova.geolocation" />
<feature name="http://api.phonegap.com/1.0/geolocation"/>

更新

最近版本的 PhoneGap 似乎已经解决了这个问题。现在,当我编译应用程序时,我不再有这个问题。我不必更改我的代码中的任何内容。

最佳答案

您需要在 config.xml 中包含以下行:

<gap:plugin name="org.apache.cordova.geolocation" />

如果未包含,HTML Geolocation 会尝试查找您的位置,并且正如您提到的某些 URL - 可能包括您的 MAC 或其他设备标识符 - 需要批准。

在包括上行之后,对于 Android 和 Windows 设备,请插入下行以适应正确的前提条件:

<feature name="http://api.phonegap.com/1.0/geolocation"/>

请检查这些文档以检查正确的 phonegap 版本:

http://docs.build.phonegap.com/en_US/2.9.0/configuring_features.md.html https://build.phonegap.com/plugins/627

关于ios - Phonegap GPS 询问两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22211316/

相关文章:

ios - 如何在iOS的自定义图像选择器 View 中进行自动闪光

ios - 在 iOS 8+ 中使用什么字体显示这些 un​​icode 字符

iphone - MKMapView ClipsToBounds 在 iOS 6 上不起作用

ios - Cordova 和 IO 宽度问题

android - Cordova-plugin-camera 不适用于 Android 版本 8

iOS - native 应用程序中基于 SOAP 的支付 API 的使用

iphone - 袖珍 API : how to modify data using callAPIMethod?

iphone - Apple Reachability 示例在后台模式下不起作用

ios - Cordova iOS 跨源请求仅支持 HTTP

ios - 从 CloudKit Assets 中的 CoreData 托管对象保存 NSData