2012-05-31 31 views
0

我正在開發一個使用html5代碼的黑莓應用程序。我需要找到我的當前位置,並且必須在Google地圖中顯示。我正在BB9780中運行此應用程序。它在模擬器中運行,但它給出了錯誤的位置(美國位置)。但它不在設備中運行。navigator.geolocation.getCurrentPosition(onSuccess,onError);不工作

我懷疑下面的行沒有執行。

navigator.geolocation.getCurrentPosition(onSuccess,onError);

我給我的代碼here.Please建議我在哪裏出了錯

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <meta name="viewport" id="viewport" content="width=device-width,height=device- height,initial-scale=1.0,user-scalable=no"> 
    <script src="json2.js" type="text/javascript"></script> 
    <script src="cordova-1.7.0.js" type="text/javascript"></script> 
    <script type="text/javascript" charset="utf-8"> 

    // Wait for Cordova to load 

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

// Cordova is ready 

function onDeviceReady() { 
    alert("onDeviceReady"); 
navigator.geolocation.getCurrentPosition(onSuccess, onError); 
} 


// onSuccess Geolocation 

function onSuccess(position) { 
alert("onSuccess"); 
    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> 
<title>Notification Sample</title> 
</head> 
<body> 
    <p id="geolocation">Finding geolocation...</p> 
</body> 
</html> 

回答

0

我不認爲它你懷疑行,什麼是你獲得錯誤信息?它可能是模擬器,因爲你的代碼看起來是正確的,儘管我只是閱讀error.message和error.code。這是我的onDeviceReady

function onDeviceReady() { 
    try { 
     if(typeof(navigator.geolocation)!='undefined') gl = navigator.geolocation; 
     else gl=google.gears.factory.create('beta.geolocation'); 
    }catch(e){} 

    if (gl) { 
     gl.getCurrentPosition(onSuccess, onError); 
     alert("Device Ready"); 
    } else { 
     alert('not supported'); 
    } 
} 
0

版本我重新啓動我的設備 得到解決像我不是1個月

重新啓動我的設備,重新啓動您的設備可能你得到的解決方案

相關問題