W3C 地理定位 API 在 Chrome 中不起作用

以下代码适用于 Firefox,但不适用于 Google Chrome:

The below code works in Firefox but not in Google Chrome:

<!DOCTYPE html>
<html>
    <head>
        <title>title</title>
        <script type="text/javascript">
            var successCallback = function(data) {
                console.log('latitude: ' + data.coords.latitude + ' longitude: ' + data.coords.longitude);
            };

            var failureCallback = function() {
                console.log('location failure :(');
            };

            var logLocation = function() {

                //determine if the handset has client side geo location capabilities
                if(navigator.geolocation){
                   navigator.geolocation.getCurrentPosition(successCallback, failureCallback);
                }
                else{
                   alert("Functionality not available");
                }
            };

            logLocation();
            setTimeout(logLocation, 5000);
        </script>
    </head>
    <body>
        <p>Testing</p>
    <body>
</html>

发生了什么事?我认为 Google Chrome 应该支持 W3C Geolocation API.

What's going on? I thought Google Chrome was supposed to support the W3C Geolocation API.

推荐答案

对我来说完美 - 在 Win 7 上使用 Chrome 11 和 Firefox 4.0.1

  • 确保您没有在 Chrome 中禁用位置跟踪:选项 >引擎盖下 >内容设置 >位置
  • 由于安全限制,使用 file:/// 方案加载的资源不允许访问位置.请参阅 Chrome 中的 HTML 5 地理位置提示.
  • Make sure you've not disabled location tracking in Chrome: Options > Under the Hood > Content Settings > Location
  • Because of security restrictions, resources loaded with the file:/// scheme are not allowed access to location. See HTML 5 Geo Location Prompt in Chrome.

相关文章