2013-11-20 58 views
0

我在HTML5 + PhoneGap中工作。 在我的應用程序中,我需要穿刺地理定位才能獲取經度和緯度。PhoneGAP Geoloaction不適用於Android

當我搜索我的示例代碼PhoneGap Website

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

// Cordova is ready 
// 
function onDeviceReady() { 
    alert('deviceready'); 
    //navigator.geolocation.getCurrentPosition(onSuccess, onError); 

    navigator.geolocation.getCurrentPosition(onSuccess); 
} 

// 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: '   +         position.timestamp   + '<br />'; 
} 

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

但它不工作! 它始終顯示正在觀看地理位置...但詳情未加載。 我已經搜索過這個問題,我沒有得到一個正確的解決方案。

我發現這裏同樣的問題張貼但解決方案並不在此:(

沃金我怎樣才能使用PhoneGap的緯度的細節和經度細節?

有人能幫助我嗎?

回答

0

我在一年前有類似的問題,我的解決方案是重新啓動我的手機 - 當時只有一個X 4.0的Android 4.0。不記得手機版本,但是爲什麼我不應該使用phonegap 。

如果th不起作用問題可能出在高精度選項上:http://docs.phonegap.com/en/3.1.0/cordova_geolocation_geolocation.md.html#Geolocation 嘗試將enableHighAccuracy切換爲false/true。

+0

是的我試過navigator.geolocation.getCurrentPosition(onSuccess,onError,{enableHighAccuracy:true});但仍然無法正常工作:( –

0

某些Android設備和仿真器僅支持較高或較低的GPS準確度。

嘗試使用低精度和高精度運行代碼。

function onDeviceReady() { 
    var options = { enableHighAccuracy: true }; // also try with false. 
    navigator.geolocation.getCurrentPosition(onSuccess, onError, options); 
} 

如果這不起作用,請嘗試選擇調整超時,最後也許你沒有正確設置你的Android項目的GPS權限。檢查應用清單以查看您執行或未執行的權限。

+0

嗨@ @ David Rust-Smith我已經在app/res/xml/config.xml和app/AndroidManifest.xml中設置了所有權限,但它不工作:( –

+0

我通過http ://docs.phonegap.com/en/2.7.0/cordova_geolocation_geolocation.md.html#Geolocation –

0

我認爲原因是我們總是使用瀏覽器的html5實現而不是native.Try來確保您使用的是cordova native函數來定位位置。

相關問題