无法使用cordova-geolocation-plugin获取位置(timout错误)

时间:2017-02-15 05:48:12

标签: javascript angularjs cordova ionic-framework cordova-plugins

我一直试图用cordova-geolocation-plugin获取用户的位置,但似乎有一个非常奇怪的问题。它工作,我能够获得一些手机中的坐标,而在其他手机中,它不起作用,并显示超时错误。此外,我在手机中找不到任何类似的模式,也没有找到相似的模式。它适用于一些牛轧糖手机,而不适用于其他手机。其他版本和型号也是如此。没有模式。 我跟进了类似的问题,但仍无法使其正常工作。

$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});
        };

1 个答案:

答案 0 :(得分:0)

试试以下方式。希望这对你有用。可以在this link

上找到更多详细信息

<xsl:variable name="datenum" select="translate(YourDate, '-', '')" />
<xsl:if test="20170214 &lt;= $datenum and $datenum &lt;= 20170216">
    <!-- do something -->
</xsl:if>

同时检查以下权限是否已添加到AndroidManifest.xml

$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);
     });
   });
 }