【问题标题】:Get Coordinates Longitude Latitude using Javascript使用Javascript获取坐标经度纬度
【发布时间】:2016-03-15 18:54:43
【问题描述】:

我正在尝试获取当前位置坐标经度和纬度。此代码在 Firefox Microsoft Edge 上正常运行。但在 google chrome 上无法正常运行,任何修改都可以使其与其他浏览器兼容。

<!DOCTYPE html>
<html>
<body>

<p>Click the button to get your coordinates.</p>

<button onclick="getLocation()">Try It</button>

<p id="demo"></p>

<script>
var x = document.getElementById("demo");

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;
    }
}
</script>

</body>
</html>

【问题讨论】:

  • 这是一个 JSBIN:jsbin.com/juraqo/edit?html,js,output。这对我在 Google Chrome 中非常有用。
  • 但它没有提供准确的结果。
  • 您在寻找的准确度如何?
  • 方圆一公里的地图。
  • 我的距离在 10 米以内(使用 Chrome)。不过我在大城市。在农村地区,情况可能更糟。你的距离有多远?

标签: javascript jquery html google-maps-api-3


【解决方案1】:

我认为您的问题与 Chrome 阻止从文件系统(即从磁盘)运行的应用程序的本地化这一事实有关。 您是否将其部署在任何类型的 Web 服务器上?

【讨论】:

  • 哦!是的,它通过部署在本地服务器上工作,但仍然没有产生如此准确的结果!
  • 位置质量取决于您的设备。它应该尝试使用来自 GPS(如果有)、WiFi(如果已启用并且您的区域已被映射为 WiFi 信号)和 IP(低质量)的信息。如果您认为可以在您所在的地区和您的设备上获得更好的本地化质量,也许您可​​以尝试使用watchPosition() 的处理程序
猜你喜欢
  • 1970-01-01
  • 2020-05-04
  • 2016-02-28
  • 1970-01-01
  • 1970-01-01
  • 2012-02-18
  • 2021-04-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多