getCurrentPosition()无法在firefox中运行

时间:2014-02-09 16:26:20

标签: javascript jquery html

我正在尝试使用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() });

再一次,这是一个非常简单的例子,它只询问位置并发出一些警告。 奇怪的是,当我启动脚本时,我似乎无法得到任何答案。 有谁知道为什么? 在此先感谢:)

3 个答案:

答案 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)

似乎这个说明很重要:

http://www.w3schools.com/html/html5_geolocation.asp

浏览器支持

Internet Explorer 9 +,Firefox,Chrome,Safari和Opera支持Geolocation。

注意:地理位置对于使用GPS的设备(如iPhone)更准确。

完成尝试测试: 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上)。