navigator.Geolocation GetCurrentpositon 不适用于 Chrome 和 Firefox

Posted

技术标签:

【中文标题】navigator.Geolocation GetCurrentpositon 不适用于 Chrome 和 Firefox【英文标题】:navigator.Geolocation GetCurrentpositon isn't working on Chrome and Firefox 【发布时间】:2014-03-18 18:26:01 【问题描述】:

我正在关注这个在线教程,它教你如何使用 html5 和谷歌地图 api 的新内置功能来获取你当前的位置(地理位置)。

˚<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title>Navigator</title>
</head>
<script src="js/jquery.js"></script>
<script src="http://maps.google.com/maps/api/js?sensor=true"></script>

<script>

x = navigator.geolocation;

x.getCurrentPosition(success, failure);

function success(position) 
    var mylat = position.coords.latitude;
    var mylong = position.coords.longitude;
    $('#lat').htm(mylat);
    $('#long').html(mylong);


function failure() 
    $('#lat').html("<h3> No co-ordinates available!</h3>");

</script>

<body>
<!--map placeholder -->
<div id="map">

</div>

<div id="lat"></div>
<div id="long"></div>
</body>



</html>

我尝试在 google 和 firefox 上运行此代码。 谷歌阻止我查看我目前的职位。我收到失败消息“没有可用的坐标!” 至于firefox,太好用了!

Chrome 有什么问题?一位朋友建议我应该尝试使用我的 IP 地址获取我的位置。该怎么办? Chrome 有没有办法阻止我当前的位置?

【问题讨论】:

你有一个错字$('#lat').htm(mylat); => $('#lat').html(mylat); 这适用于 Chrome 33 jsfiddle.net/borglinm/LVBVy 我要做的第一件事是检查以确保在您的 chrome 设置中,您的位置设置(位于隐私 -> 内容设置下)设置为允许或要求跟踪您的位置。也有可能,您已经阻止了一次 - 在这种情况下,您可以从“管理例外”中删除该例外。 谢谢!错字是问题的一部分! 【参考方案1】:

我使用的这段代码几乎可以在 IE/Chrome/FF 移动浏览器中使用

    if (navigator.geolocation) 
    var latitude = null;
    var longitude = null;
    navigator.geolocation.getCurrentPosition(function (position) 
        latitude = position.coords.latitude;
        longitude = position.coords.longitude;
   );  

  else 
    alert("Geolocation API is not supported in your browser");
 ;

【讨论】:

以上是关于navigator.Geolocation GetCurrentpositon 不适用于 Chrome 和 Firefox的主要内容,如果未能解决你的问题,请参考以下文章

navigator.geolocation.getCurrentPosition():如果用户说“不”,则触发回调?

Cordova geolocation navigator.geolocation.getCurrentPosition 错误的窗口访问位置

navigator.geolocation 和回调的回调

html5-geolocation : navigator.geolocation.watchPosition 连续回调

只为 navigator.geolocation.getCurrentPoistion 阻塞一次

反应原生 navigator.geolocation.getCurrentPosition 问题