Javascript 在web浏览器中进行本地地理定位以查找用户';当前位置

Javascript 在web浏览器中进行本地地理定位以查找用户';当前位置,javascript,google-maps,cross-browser,Javascript,Google Maps,Cross Browser,我使用以下代码获取用户当前位置。这在localhost chrome和safari中运行良好,但我在firefox中面临问题。如果我允许在firefox最新浏览器中共享我的位置,它会很好地工作。但我不允许,这是行不通的。谁能解释一下原因是什么 function getLocation() { // Check for geolocation support if (navigator.geolocation) { // Get current position

我使用以下代码获取用户当前位置。这在localhost chrome和safari中运行良好,但我在firefox中面临问题。如果我允许在firefox最新浏览器中共享我的位置,它会很好地工作。但我不允许,这是行不通的。谁能解释一下原因是什么

function getLocation() {
    // Check for geolocation support
    if (navigator.geolocation) {
        // Get current position
        navigator.geolocation.getCurrentPosition(function (position) {
            // Success!
            initialize(new google.maps.LatLng(position.coords.latitude, position.coords.longitude));
        },
        function () {
            // Gelocation fallback: Defaults
            initialize(new google.maps.LatLng(40.712784, -74.005941));
        });
    }
    else {
        // No geolocation fallback: Defaults
        initialize(new google.maps.LatLng(40.712784, -74.005941));
    }
}

这个bug几年前就已经提交给Mozilla了()

一旦脚本调用了
getCurrentPosition()
,Firefox就会提示用户共享他/她的地理位置。此时,如果用户拒绝了请求,Firefox很遗憾没有用拒绝响应确认回调函数。因此,您的备用状态永远不会触发

然而,目前还没有为这个已知的bug提供任何解决方案

有些人已经意识到这个问题,请参见()。解决这个问题的一个可行的解决方法是使用超时(请参阅链接中的详细信息)