Android 当定位服务关闭和打开时,地理定位不工作

Android 当定位服务关闭和打开时,地理定位不工作,android,ios,events,geolocation,location-services,Android,Ios,Events,Geolocation,Location Services,我有一个通过点击按钮来检查地理位置的功能。当地理位置打开时,它可以在手机上正常工作,当关闭时,会像预期的那样显示这样的消息。当第一次关闭手机的位置服务,点击按钮(如预期,弹出消息),然后如果用户在应用程序仍然打开的情况下重新打开位置服务,再次点击按钮,仍然会弹出相同的“无位置服务”消息 有没有办法在每次点击按钮时检查手机的定位服务是打开还是关闭?在Android和IOS上获得相同的结果 代码: 从另一个SO帖子中检查此答案 您必须检查此处建议的错误是什么 没有人?我找不到任何东西来解决这个问题…

我有一个通过点击按钮来检查地理位置的功能。当地理位置打开时,它可以在手机上正常工作,当关闭时,会像预期的那样显示这样的消息。当第一次关闭手机的位置服务,点击按钮(如预期,弹出消息),然后如果用户在应用程序仍然打开的情况下重新打开位置服务,再次点击按钮,仍然会弹出相同的“无位置服务”消息

有没有办法在每次点击按钮时检查手机的定位服务是打开还是关闭?在Android和IOS上获得相同的结果

代码:


从另一个SO帖子中检查此答案

您必须检查此处建议的错误是什么


没有人?我找不到任何东西来解决这个问题…奇怪的是,当一个Web应用程序打开时,我无法检测到geolocation是否已打开或关闭…?我们是在讨论某种框架吗?像phonegap、cordova、xamarin或简单的web应用程序?如果您刷新页面(位置处于活动状态),则可以访问位置详细信息?@ddb yes,。。我不是在为webapp开发包装器,但我相信他们在使用xamarin…但我对webapp本身有这个问题;我需要刷新页面以检测地理位置。在切换到本地化后点击按钮时,应用程序是否会显示其中一个错误?如果是,哪一个?@ddb刷新时它可以工作,但这还不够,因为webapp将使用app包装器在Apple Store上用作app。。。我已经得到了上面所有的错误代码;如果webapp处于打开状态,则打开地理位置后,我会收到相同的错误。我有非常类似的代码,上面给出的代码在应用程序中。这不能解决我的问题。另外,给出的答案也不能解决这个问题。
$(document).ready(function () {

    $('#smallScreenGeolocate').on('click', function(){

     getCurrentLocation();
     });
});

function getCurrentLocation () {
if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(addGeolocationMarker, locationError);
    return true;
}
else {
    alert("Browser doesn't support Geolocation. Visit http://caniuse.com to discover browser support for the Geolocation API.");
    return false;
}
}
function getLocation() {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(showPosition,showError);
    } else {
        x.innerHTML = "Geolocation is not supported by this browser.";
    }
}

function showPosition(position) {
   x.innerHTML = "Latitude: " + position.coords.latitude +
   "<br>Longitude: " + position.coords.longitude;
}
function showError(error) {
    switch(error.code) {
        case error.PERMISSION_DENIED:
            x.innerHTML = "User denied the request for Geolocation."
            break;
        case error.POSITION_UNAVAILABLE:
            x.innerHTML = "Location information is unavailable."
            break;
        case error.TIMEOUT:
            x.innerHTML = "The request to get user location timed out."
            break;
        case error.UNKNOWN_ERROR:
            x.innerHTML = "An unknown error occurred."
            break;
    }
}