phonegap android地理位置。某些属性始终为null

时间:2011-10-19 14:36:22

标签: android geolocation cordova

作为一个例子,我实现了一个向我展示所有地理位置的方法。

    function showLocation() {
    navigator.geolocation.getCurrentPosition(onGeoSuccess, onGeoError);
}

        function onGeoSuccess(position) {
    var element = document.getElementById('geolocation');
    element.innerHTML = 'Latitude: '           + position.coords.latitude              + '<br />' +
                        'Longitude: '          + position.coords.longitude             + '<br />' +
                        'Altitude: '           + position.coords.altitude              + '<br />' +
                        'Accuracy: '           + position.coords.accuracy              + '<br />' +
                        'Altitude Accuracy: '  + position.coords.altitudeAccuracy      + '<br />' +
                        'Heading: '            + position.coords.heading               + '<br />' +
                        'Speed: '              + position.coords.speed                 + '<br />' +
                        'Timestamp: '          + new Date(position.timestamp)          + '<br />';
}

所以我按下这个按钮在街区附近散步:

<input type="submit" data-theme="d" name="login" id="login" value="Position" onclick="showLocation()"/>

但是,Altitude,Heading和Speed的属性始终显示为null。 Altitude Accuracy也显示为null,但phonegap文档说它不适用于android。那为什么这不起作用? 提前谢谢,丹尼尔

2 个答案:

答案 0 :(得分:2)

dev.w3.org/geo/api/spec-source.html#coordinates_interface

它可能是特定于设备的,是否支持这些参数“如果实现无法提供{那些您遇到问题的变量}信息,则此属性的值必须为空。”

答案 1 :(得分:1)

从我使用phonegap 1.5进行的测试中,我发现如果我的设备处于运动状态,许多这些属性只会返回一个值。我确实得到了一个静止的准确度(我想我的手机里有一个gps传感器),它从几千米下降到不到100个。但是,当设备移动时我只能得到一个标题和速度。标题也是行进方向,它与手机的方向无关。