我正在开发跨平台应用程序。我可以使用 Phone Gap API 请求访问位置。如果用户单击确定,那么我就可以使用 PhoneGap API 获取纬度和经度并将其发送到服务器。
但是,如果用户最初单击“不允许”,我就会遇到问题。之后,如果他尝试刷新页面,我希望设备再次显示弹出窗口以请求访问该位置。
我们如何在单页应用程序中做到这一点?
var loadPanelMessage = ko.observable("Sipping..."),
loadPanelVisible = ko.observable(false),
lat = ko.observable(''),
lon = ko.observable('');
navigator.geolocation.getCurrentPosition(onSuccess, onError);
var onSuccess = function (position) {
lat(position.coords.latitude);
lon(position.coords.longitude);
timestamp(position.timestamp);
};
function onError(error) {
alert('code: ' + error.code + '\n' +
'message: ' + error.message + '\n');
//How should I handle the error, so that it asks for Geolocation again?
}
最佳答案
您无法重新显示该弹出窗口,它由 iOS 显示,一旦用户点击“不允许”,您就无法强制弹出该弹出窗口。您所能做的就是让您的用户了解这种情况,并将用户引导至 iOS 设置以为您的应用启用位置服务。
这是关于这个问题的一个很好的读物: https://medium.com/on-startups/96fa4eb54f2c
关于ios - 在 PhoneGap 应用程序中初始拒绝后请求位置访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25520838/