2014-03-18 148 views
0

我在线学习本教程,教您如何使用HTML5的新内置功能和谷歌地图API获取您当前的位置(地理定位)。navigator.Geolocation GetCurrentpositon不适用于Chrome和Firefox

˚<!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> 

我试着在谷歌和Firefox上运行这段代码。 Google阻止我看到我目前的位置。我收到失败消息“没有坐标可用!” 至于Firefox,它的作品非常棒!

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

+0

你有一个错字'$( '#LAT')HTM(mylat);'=>'$(” #lat').html(mylat);' – Mathias

+0

这个在Chrome中可以工作33 http://jsfiddle.net/borglinm/LVBVy/ – Mathias

+0

我要做的第一件事就是检查你的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"); 
}; 
相关问题