首页 网络技术
  1. 正文

JavaScript怎么处理共享位置数据

可能存在用户不想与您共享其位置数据的情况。为了处理这种情况,您可以在调用函数时提供两个getCurrentLocation()函数。

如果您的地理位置尝试成功,则调用第一个函数,如果您的地理位置尝试失败,则调用第二个函数。让我们看一个例子:

例试试这个代码»

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>Handling Geolocation Errors</title>

<script>

    // Set upglobal variable

    var result;

    function showPosition() {

        // Store the element where the page displays the result

        result = document.getElementById("result");

        // If geolocation is available, try to get the visitor's position

        if(navigator.geolocation) {

            navigator.geolocation.getCurrentPosition(successCallback, errorCallback);

            result.innerHTML = "Getting the position information...";

        } else {

            alert("Sorry, your browser does not support HTML5 geolocation.");

        }

    };

    // Define callback function for successful attempt

    function successCallback(position) {

        result.innerHTML = "Your current position is (" + "Latitude: " + position.coords.latitude + ", " + "Longitude: " + position.coords.longitude + ")";

    }

    // Define callback function for failed attempt

    function errorCallback(error) {

        if(error.code == 1) {

            result.innerHTML = "You've decided not to share your position, but it's OK. We won't ask you again.";

        } else if(error.code == 2) {

            result.innerHTML = "The network is down or the positioning service can't be reached.";

        } else if(error.code == 3) {

            result.innerHTML = "The attempt timed out before it could get the location data.";

        } else {

            result.innerHTML = "Geolocation failed due to unknown error.";

        }

    }

</script>

</head>

<body>

    <div id="result">

        <!--Position information will be inserted here-->

    </div>

    <button type="button" onclick="showPosition();">Show Position</button>

</body>

</html>

本文标题:JavaScript怎么处理共享位置数据
本文链接:https://www.qqooo.cn/post/6792.html
版权说明:网站文章均来源于手工整理和网友投稿,若有不妥之处请来信 xsds@vip.qq.com 处理,谢谢!