2016-02-02 49 views
2

我编程一个应用程序,我需要GPS。 如果GPS关闭,我怎么能要求用户打开GPS,如谷歌地图?经过一段时间的谷歌,我发现没有比较... 我的另一个问题是,为什么我得到“使用位置? - 2”,当GPS关闭?我想,如果GPS关闭,$ window.navigator.geolocation是假的?科尔多瓦Angularjs要求GPS

Google Maps

controller.js

if ($window.navigator && $window.navigator.geolocation) { 
    function success(pos) { 
     $rootScope.position = { x: pos.coords.latitude, y: pos.coords.longitude }; 
    } 
    function fail(error) { 
     alert("Use location? - 2"); 
    } 
    $window.navigator.geolocation.getCurrentPosition(success, fail, { maximumAge: 500000, enableHighAccuracy: true, timeout: 6000 }); 
} else { 
    alert("Use location? - 1"); 
} 

回答

0

cordova-plugin-request-location-accuracy cordova插件确实会触发本地对话框窗口,要求用户从应用程序启用GPS,而无需导航到手机的设置,然后回到您的应用程序。

https://github.com/dpa99c/cordova-plugin-request-location-accuracy

唯一的缺点是,它仅适用于Android。使用此插件无法在iOS设备上从您的应用打开GPS。但是,正如插件文档中所述,您可以使用cordova.plugins.diagnostic插件导航到手机的设置,并手动打开GPS作为iOS设备的后备。

我已经做了大量的研究,目前这是迄今为止我发现的最好的解决方案。我知道iOS上的谷歌地图应用可以做到这一点,所以它应该可以从一个科尔多瓦插件,但我想还没有人做到这一点。