2016-02-02 48 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上的谷歌地圖應用可以做到這一點,所以它應該可以從一個科爾多瓦插件,但我想還沒有人做到這一點。