Phonegap Geolocalisation应用程序崩溃

时间:2012-03-11 23:40:32

标签: ios cordova

我正在尝试使用phonegap javascript api获取当前的本地化。以下是从phonegap网站获取的示例代码:

<script type="text/javascript" charset="utf-8">

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

// PhoneGap is ready
//
function onDeviceReady() {
    navigator.geolocation.getCurrentPosition(onSuccess, onError);
}

// onSuccess Geolocation
//
function onSuccess(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 />';
}

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

</script>

如果删除地理定位代码,应用程序运行良好。

有什么想法吗?

提前致谢,

3 个答案:

答案 0 :(得分:1)

如果您在Android中看到错误,则需要添加enableHighAccuracy标志:

navigator.geolocation.getCurrentPosition(onSuccess, onError, { enableHighAccuracy: true });

答案 1 :(得分:0)

我刚刚在PhoneGap 1.4.1,iOS模拟器5.0上试过它,它运行正常。

你得到什么样的错误?

答案 2 :(得分:0)

如果您在Android设备上尝试它,那么Android设备不支持altitudeAccuracy属性,它将始终返回null。