我正在尝试使用navigator.geolocation.getCurrentPosition()函数进行地理定位,但我似乎无法在firefox上运行它。 更具体地说,我制作了一个非常简单的HTML文件:
<!DOCTYPE HTML>
<html>
<head>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=places"></script>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="js/mapHandler.js"></script>
</head>
<body>
</body>
</html>
正如您所看到的,它是HTML文件的最低限度。 javascript只是执行以下操作:
function displayLocation (position)
{
alert("displayLocation");
}
function displayError(positionErr)
{
alert("error");
}
function initialize()
{
if (!(navigator.geolocation == 'undefined'))
{
navigator.geolocation.getCurrentPosition(displayLocation, displayError,{timeout:10000});
}
else
{
alert('Geolocation unsupported');
}
}
$(document).ready(function(){initialize() });
再一次,这是一个非常简单的例子,它只询问位置并发出一些警告。 奇怪的是,当我启动脚本时,我似乎无法得到任何答案。 有谁知道为什么? 在此先感谢:)
答案 0 :(得分:2)
实际上我在Chrome 32(它运行良好)和Firefox 26(没有运气)上进行了测试。
我尝试在Firefox上启用地理位置,但仍无效。
我浏览了谷歌上的几个网站,最后我理解的是Firefox 26&amp; 27有一个检测地理位置的错误。
为了测试功能,您可以运行 LIVE DEMO 这是一个普通的JavaScript。
initialize();
function displayLocation(position) {
var cords = position.coords;
alert("displayLocation, lat='"+cords.latitude+"'; long='"+cords.longitude+"'");
}
function displayError(positionErr) {
alert("error");
}
function initialize() {
if (!(navigator.geolocation == 'undefined')) {
navigator.geolocation.getCurrentPosition(displayLocation, displayError, {
timeout: 10000
});
} else {
alert('Geolocation unsupported');
}
}
答案 1 :(得分:0)
似乎这个说明很重要:
浏览器支持
Internet Explorer 9 +,Firefox,Chrome,Safari和Opera支持Geolocation。
完成尝试测试: http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_geolocation
- &GT;在使用Firefox 26.0的计算机上:没有任何反应。即使在共享位置时(未连接GPS设备)。
- &GT;在Android智能手机上使用Firefox 27.0:获取Latitude&amp; GPS的经度
答案 2 :(得分:0)
基于
的Mozilla Firefox 24+上的地理位置似乎存在问题https://support.mozilla.org/en-US/questions/984520
使用管理权限运行Firefox(特别是在Windows上)。