2013-07-23 94 views
4

我目前正在寫一個可能會被移動設備擊中的web應用程序。在某些時候,我需要通過HTML5的getCurrentPosition()來獲取用戶的位置。我寧願儘可能快地進行粗略修復,所以我將enableHighAccuracy參數設置爲false來調用此函數。HTML5地理位置忽略enableHighAccuracy選項?

大部分時間按預期工作;然而,在某些Android設備上,瀏覽器顯然忽略了該屬性,並總是試圖獲取GPS位置(GPS圖標出現在通知欄上)。有趣的是,即使我在設置中手動禁用GPS位置,也會發生這種情況。

這似乎不是要依賴於瀏覽器,我已經測試使用Chrome,Firefox和Opera相同的代碼,並用簡單的代碼情況,如下列:

<!doctype html> 
<html> 
<head> 
    <script type="text/javascript"> 
     function getLocation() { 

      if (navigator.geolocation) 
      { 
       navigator.geolocation.getCurrentPosition(onLocationReceived, onLocationError, {timeout: 5000, enableHighAccuracy: false}); 
      } 
      else 
       alert("Geoloc not supported by your browser"); 
     } 

     function onLocationReceived(position) { 
      alert("Location retreived! " + position.coords.latitude + ", " + position.coords.longitude + " (" + position.coords.accuracy + ")"); 

     } 

     function onLocationError(error) { 
      alert("Received an error! " + error.message + "(" + error.code + ")"); 
     } 
    </script> 
</head> 
<body> 
    <button onclick="getLocation();">Get location</button> 
</body> 

到目前爲止,已經發生在HTC One和小米1S上。你有沒有遇到過這個問題?也許這是一個已知的錯誤?

謝謝。

回答