2012-03-11 96 views
0

我想使用phonegap javascript api獲取當前的本地化。以下是取自phonegap網站的示例代碼:Phonegap Geolocalisation應用程序崩潰

<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> 

如果我刪除了地理定位代碼,則該應用程序運行良好。

任何想法?

由於提前,

回答

0

我剛纔試了一下的PhoneGap 1.4.1,iPhone模擬器5.0,它工作正常。

你得到了什麼樣的錯誤?

+0

它在iOS模擬器上正常工作。一旦安裝在手機上它崩潰... – ridan 2012-03-12 09:45:29

+0

它也適用於我的iPad iOS 5.1 – 2012-03-12 18:33:01

1

如果你看到在Android上的錯誤,你要添加的enableHighAccuracy標誌:

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

完成但應用程序仍然崩潰 – ridan 2012-03-12 10:06:38

0

,如果你想它的Android設備上,則altitudeAccuracy財產不受Android設備支持,它總是返回空值。