2013-06-11 56 views
2

嗨所以我用navigator.geolcation這樣的:用wifi查找的位置,而不是GPS,JavaScript的

navigator.geolocation.getCurrentPosition(
      displayBestPosition, 
      displayError, 
      { enableHighAccuracy: true, timeout: timeoutVal, maximumAge: 0 } 
     ); 

我訪問它在我的Android設備瀏覽器,以便使用我的GPS的。然而,當我在裏面,我不斷得到超時,我想從gps切換到從wifi獲取位置。有沒有辦法做到這一點?

+0

enableHighAccuracy:false將刪除對GPS的需求,但它仍然在需要時可能會被使用。 – dandavis

+0

我實際上是在它超時兩次後執行此操作。我有另一個getCurrentPosisiont調用,其中enableHighAccuracy爲false。它仍然嘗試訪問我的GPS不幸的。 :/ –

+0

你沒有明確的控制手機如何獲得位置,所以即時猜測你的wifi是不夠的,它是有信心的。 – dandavis

回答

1

DEMO FIDDLE

<head> 
<script> 
var myip; 
function callback(data) { 
    alert(data.city); 
} 
function request_location() { 
    var oHead = document.getElementsByTagName('head')[0]; 
    var oScript = document.createElement("script"); 
    oScript.type = "text/javascript"; 
    oScript.src = "http://ip-api.com/json/" + myip + "?callback=callback"; 
    oHead.appendChild(oScript); 
} 
</script> 
<script type="text/javascript" src="http://l2.io/ip.js?var=myip" onload="request_location();"></script> 
</head> 
+0

當我檢查基於ip的座標時,它已經關閉了幾英里。這個距離對我的需求來說太大了。 –

+1

沒有GPS,沒有辦法獲得更準確的結果 – Tom