我正在使用IONIC V1我知道如何使用地理定位插件(cordova-plugin-geolocation
)并且它有效。当我在我的地图部分时,我收到"allow name_app to access to device location"
的通知。
如果我的答案是ALLOW
,则应用程序会假定gps
已激活。
但是在其他应用程序的风格中,我希望这会将我带到设备的配置,以便在图像中标记gps
的激活,以便能够激活{{1}如果它没有被激活。 (gps
在我的语言中)
我该怎么办?
答案 0 :(得分:1)
如果正确理解您的问题,如果未启用GPS,则需要打开原始gps
设置。
您可以使用以下任何选项:
诊断插件的isGpsLocationEnabled()功能可以帮助您了解GPS是否已启用。
以下是用法:
cordova.plugins.diagnostic.isGpsLocationEnabled(function(enabled) {
if (enabled) {
//enabled
} else {
// open location native location settings
cordova.plugins.diagnostic.switchToLocationSettings();
}
},
function(error) {
console.error("The following error occurred: " + error);
});
如果位置精度插件的request()函数给你错误回调。在那里检查错误代码是否为ERROR_USER_DISAGREED,如果为true,则使用cordova-diagnostic-plugin的switchToLocationSettings()打开本机设置。
以下是用法:
function onRequestSuccess(success) {
console.log("Successfully requested accuracy: " + success.message);
}
function onRequestFailure(error) {
console.error("Accuracy request failed: error code=" + error.code + "; error message=" + error.message);
if (error.code !== cordova.plugins.locationAccuracy.ERROR_USER_DISAGREED) {
if (window.confirm("Failed to automatically set Location Mode to 'High Accuracy'. Would you like to switch to the Location Settings page and do this manually?")) {
// open location native location settings using diagnostic plugin
cordova.plugins.diagnostic.switchToLocationSettings();
}
}
}
cordova.plugins.locationAccuracy.request(onRequestSuccess, onRequestFailure, cordova.plugins.locationAccuracy.REQUEST_PRIORITY_HIGH_ACCURACY);