1

我一直在嘗試使用cordova-geolocation-plugin獲取用戶的位置,但似乎存在一個非常奇怪的問題。它可以工作,我可以在某些手機中獲得座標,而在其他手機中,座標不起作用並顯示超時錯誤。此外,我沒有發現任何類似的模式,在它的工作和在那些沒有。它適用於一些牛軋糖手機,並不適用於其他。其他版本和型號也一樣。沒有任何模式。 我跟進了類似的問題,但仍然無法正常工作。無法使用cordova-geolocation-plugin獲取位置(timout錯誤)

$scope.getCurrentLocation = function() { 
      var onSuccess = function (position) { 
       console.log('Latitude: ' + position.coords.latitude + '\n' + 
         'Longitude: ' + position.coords.longitude + '\n' + 
         'Accuracy: ' + position.coords.accuracy + '\n'); 
      }; 

      function onHighAerror(error) { 
       console.log('code: ' + error.code + '\n' + 
         'message: ' + error.message + '\n'); 
         //Low accuracy fallback 
         navigator.geolocation.getCurrentPosition(onSuccess, onLowAerror, {enableHighAccuracy: false, timeout: 15000, maximumAge: 60000}); 

      } 

      function onLowAerror(error) { 
       console.log('code: ' + error.code + '\n' + 
         'message: ' + error.message + '\n'); 
      } 

      navigator.geolocation.getCurrentPosition(onSuccess, onHighAerror, {enableHighAccuracy: true, timeout: 15000, maximumAge: 60000}); 
     }; 

回答

0

只要嘗試以下方法。希望這對你有用。更多細節可以在this link

$scope.getCurrentLocation = function() { 
 
    $ionicPlatform.ready(function() { 
 

 
    var posOptions = { 
 
     enableHighAccuracy: true, 
 
     timeout: 50000, 
 
     maximumAge: 0 
 
    }; 
 

 
    $cordovaGeolocation.getCurrentPosition(posOptions).then(function(position) { 
 
     var latitude = position.coords.latitude; 
 
     var longitude = position.coords.longitude; 
 

 
    }, function(err) { 
 
     console.log(err); 
 
    }); 
 
    }); 
 
}

發現還要檢查以下權限被添加到AndroidManifest.xml中

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.NETWORK_ACCESS" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> 
+0

同樣的問題,工作在某些手機上,而不是別人 –

+0

燦你在巫婆設備中發出了一個想法,它工作並且沒有工作 –

+0

在Nexus 5,Lg L90,Xiaomi Redmi 1S中不起作用。 作品于于Yuphoria,Xperia Sp(CM Nougat),小蜜米4 –