2014-03-12 70 views
0

我嘗試使用下面的代碼來獲取用戶的地理定位:地理定位的智能手機與GPS傳感器

<!DOCTYPE html> 
<html> 
<head> 
    <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> 

    <script> 
    $(function() { 

     var Geo={}; 

     if (navigator.geolocation) 
     { 
      navigator.geolocation.getCurrentPosition(success, error); 
     } 

     //Get the latitude and the longitude; 
     function success(position) { 
      Geo.lat = position.coords.latitude; 
      Geo.lng = position.coords.longitude; 
      populateHeader(Geo.lat, Geo.lng); 
     } 

     function error(){ 
      console.log("Geocoder failed"); 
     } 

     function populateHeader(lat, lng){ 
      $('#Lat').html(lat); 
      $('#Long').html(lng); 
     } 

    }); 

    </script> 
</head> 

<body> 
    <div class="geo-coords"> 
    GeoLocation: 
    <span id="Lat">lat: ...</span>°, 
    <span id="Long">long: ...</span>° 
    </div> 
</body> 
</html> 

我試圖在傳統的臺式PC,似乎正常工作(除了一些近似由於缺乏og GPS傳感器)以及S4 Mini上的移動Firefox,但在最後一種情況下,我懷疑該位置總是由Wi-Fi或移動鏈接決定,而不是由GPS傳感器決定。事實上,即使我打開和關閉GPS,與我的智能手機的位置相同,並且與Google地圖上的相同GPS檢測到的真實確切位置完全不同。

我如何確定GPS傳感器是默認使用的傳感器?

或者,您是否有其他建議以跟蹤用戶設備的位置? 謝謝

回答

0

基本上你只能得到什麼API是提供,並迅速尋找到的API文檔的信息:dev.w3.org我想你能做的最好的,是檢查coords.accuracy

還要記住設置enableHighAccuracy啓用,所以你確實可以得到更準確的值。

+0

我試圖用這個地址檢索到的Demo創建另一個例子: [CodeHandling Demo](http://www.codehandling.com/2012/12/jquery-plugin-to-get-location-of-your。 html) 這裏我的版本: [我的版本](http://www.mediagate.it/geolocation/) 我試過用我的Android手機+ firefox便攜式和不帶GPS功能,位置似乎總是隻有一個給定通過移動單元,而不是通過GPS傳感器....... –

+0

沒有看到位置獲取的代碼,無論如何,你在那裏使用「..傳感器=虛假」,這將表明沒有傳感器(GPS等)在那裏使用 –

+0

你是對的。我修復了「sensor = true」的問題,但問題仍然存在。似乎GPS位置完全被我的android手機忽略.... –

相關問題