navigator.Geolocation GetCurrentpositon无法在Chrome和Firefox上运行

时间:2014-03-18 18:26:01

标签: javascript html5 google-maps google-chrome firefox

我在线阅读本教程,教您如何使用HTML5的新内置功能和google map 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上运行此代码。 谷歌阻止我看到我现在的位置。我收到了失败的消息&#34;没有可用的坐标!&#34; 至于firefox,它的效果非常好!

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

1 个答案:

答案 0 :(得分: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");
 };