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 错误的窗口访问位置
html5-geolocation : navigator.geolocation.watchPosition 连续回调