java - Android Phonegap 中的纬度经度跟踪?

标签 java android cordova

我是 android 平台的新手,所以我想从现有的示例代码开始学习。我正在尝试获取 GPS 坐标,所以我写了下面的代码。在下面的代码中,一旦设备启动,onDeviceReady() 方法就会触发,但 onSuccess() 方法不会触发。如何解决这个问题?我在我的项目中使用 cordova-2.8.0.jar。

<!DOCTYPE html>
<html xml:lang="en" lang="en">
    <head>
    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>  
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;">
        <title>PhoneGap</title>
        <script type="text/javascript" charset="utf-8">

    // Wait for Cordova to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    var watchID = null;

    // Cordova is ready
    //
    function onDeviceReady() {
        // Throw an error if no update is received every 30 seconds
        alert("Test1");
        var options = {
         timeout: 3000
          };
        alert("TEst2"+options);
        watchID = navigator.geolocation.watchPosition(onSuccess, onError, options);
        alert("TEst3");
    }

    // onSuccess Geolocation
    //
    function onSuccess(position) {
    alert("RAmesh");
       /* var element = document.getElementById('geolocation');
        element.innerHTML = 'Latitude: '  + position.coords.latitude      + '<br />' +
                            'Longitude: ' + position.coords.longitude     + '<br />' +
                            '<hr />'      + element.innerHTML;*/
    }

    // onError Callback receives a PositionError object
    //
    function onError(error) {
      /*  alert('code: '    + error.code    + '\n' +
              'message: ' + error.message + '\n');*/
    }

    </script>
  </head>
  <body>
    <p id="geolocation">Finding geolocation...</p>
  </body>
</html>

最佳答案

尝试按如下方式更改您的选项:

var options = {
  enableHighAccuracy: true,
  timeout: 30000,
  maximumAge: 0
};

确保您已在 AndroidManifest.xml 中设置使用位置的权限:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

在你的 config.xml 中:

<plugin name="Geolocation" value="org.apache.cordova.GeoBroker" />

关于java - Android Phonegap 中的纬度经度跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20161533/

相关文章:

android - EditText onLongClick();隐藏剪切/复制/全选栏

android - 在 android 上使用 phonegap 设置 Urban Airship 推送通知

带有 native 控件的 Android PhoneGap

java - 在 Maven 中设置 selenium-java 依赖项,但 Selenium 要求提供驱动程序的路径

java - 如何用 Java 生成报告?

android - React-native: "could not connect to development server"- 安卓应用

java - 了解内容提供者和解析器

ios - Phonegap iOS ajax 请求永远不会完成

java - SSL 连接类型

java - 使用 "Eclipse IDE for Java EE Developers"包修复 ClosedFileSystemException 错误