2017-02-24 69 views
0

的情況下,失敗我使用下面的代碼:地理位置在活動移動瀏覽器

var fail = function(error) { 
    alert("Unable to get location"); 
}; 

function getGeo() { 
    if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(
     success, 
     fail, 
     {maximumAge: 50000, timeout: 30000, enableHighAccuracy: true}); 
    } 
}; 

主要是它的工作原理,但往往它給地理位置錯誤,無法得到座標。

無論瀏覽器窗口處於非活動狀態還是瀏覽器處於後臺或移動設備本身處於睡眠模式,我如何才能獲得座標?

+0

你看過這個嗎? http://stackoverflow.com/questions/28576265/allow-html5-web-app-to-access-location-when-browser-isnt-focused-ios – Scalpweb

回答

1

沒有的「地理定位錯誤」具體細節我的回答不能完成,但是: -

目前你不能得到座標,如果瀏覽器窗口處於非活動狀態或瀏覽器在背景或移動本身在睡眠模式下,除非你是開發一個類似phonegap/cordova的混合應用程序。 (Firefox有繼續如果應用程序是前景化的服務watchPosition()的異常,但手機是睡着了。)

我已經提出了若干建議,以W3C,IETF,Chrome瀏覽器開發,Mozilla的開發和邊緣開發有關一個可行的解決方案,使用僅支持Javascript的解決方案使用Service Worker Extensibility功能。

簡而言之,UA會跟蹤地理位置更改,並且如果在開發人員提供的過濾器的範圍內,ServiceWorker將被實例化,這可能會使App前臺或僅通知App Server。

追求這個問題與有關機構,因爲這個想法開始獲得牽引。

HTH