我目前正在寫一個可能會被移動設備擊中的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上。你有沒有遇到過這個問題?也許這是一個已知的錯誤?
謝謝。