2011-09-08 198 views
1

我正在爲手機編寫Web應用程序,我需要使用地理位置。GPS不工作(Android Web應用程序)

我寫道:(JavaScript)的

function GeoLocationStart(){ 
    if(navigator.geolocation){ 
       navigator.geolocation.getCurrentPosition(onSuccess,onError); 
      } 
      else{ 
       alert("Functionality not available"); 
      } 
} 

function onSuccess(position) { 
    var initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude); 
    map.setCenter(initialLocation); 
    var userMarker = new google.maps.Marker({ 
      position: initialLocation, 
      map: map, 
      title: "You're here", 
      icon: face 
     });  
    userMarker.setMap(map); 

    var userhtml = "It's you!"; 
    var UserInfoWindow = new google.maps.InfoWindow({content: userhtml}); 

    google.maps.event.addListener(userMarker, 'click', function() {  
      UserInfoWindow.open(map, userMarker); 
      }); 
}; 

function onError(error) { 
    alert('code: ' + error.code + '\n' + 
      'message: ' + error.message + '\n'); 
} 

它工作正常,但沒有GPS。

雖然我在Android清單文件權限設置:

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_GPS" /> 
<uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" /> 
<uses-permission android:name="android.permission.ACCESS_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 

應用程序無法啓動,甚至搜索sattelites。 (當然我在我的手機上檢查過GPS,它可以在其他應用中使用)

如何開啓GPS?

謝謝

+1

如果您使用網絡提供我認爲它會正常工作。如果使用GPS提供商查找位置轉到設置 - >位置和安全並選擇使用GPS衛星並取消選中使用無線網絡。 –

+0

我在我的手機設置中檢查了GPS,它在其他應用程序中可用,但不適用於我的手機。我認爲無線網絡不會阻止GPS工作。沒有他們我的應用程序只是停止顯示任何位置和GPS沒有出現 –

+0

你在wifi附近運行你的應用程序? –

回答

1

我找到了解決方案。

當使用無線網絡找到位置後,GPS已停止工作,因爲目標已實現 - 位置已定義!

要繼續搜索的位置,我寫

var watchID = navigator.geolocation.watchPosition(onSuccess, onError, { frequency: 3000 }); 

所以GPS啓動。

+0

供將來參考:'frequency'不是W3C規範的一部分([source](http://www.mosync.com/files/imports/doxygen/latest/html5/geolocation.options.md.html#geolocationOptions) ),屬性'maximumAge'做同樣的事情。 (增加了這個評論,因爲谷歌返回頻率屬性的結果非常少。) – Juffy