ng-map - 未调用firefox navigator.geolocation.getCurrentPosition成功回调

时间:2017-10-19 00:55:55

标签: javascript firefox geolocation ng-map

我正在使用ng-map,我正在使用navigator.geolocation.getCurrentPosition来获取用户的当前位置,但是在Ffx中,似乎没有调用成功回调。当我在回调函数中添加一个断点时,它永远不会被命中(它在我测试的其他浏览器中有效)。这是我的代码:

                    var options = {
                    };

                    navigator.geolocation.getCurrentPosition(
                        function (pos) {
                            var myLatLng = new google.maps.LatLng(parseFloat(pos.coords.latitude), parseFloat(pos.coords.longitude));
                            map.setCenter(myLatLng);
                        }, 
                        function (error) { return false; },
                        options);

我尝试了什么:

  • 检查是否正在调用错误回调(它永远不会,我看不到任何错误)
  • 向选项
  • 添加短暂(例如5000毫秒)超时
  • 在选项
  • 中将enableHighAccuracy设置为显式为false
  • 明确指定'成功'和'错误'函数并调用它们,而不是添加函数'inline'(不是这应该有任何区别,不是,它没有!)
  • 使用navigator.geolocation.watchPosition代替getCurrentPosition
  • 我正在使用映射的ng-map angular指令,我尝试从显示当前位置的自定义标记中删除“position”,以确保没有任何干扰或拦截回调。

非常欢迎任何我能尝试的新想法或建议!

1 个答案:

答案 0 :(得分:0)

我发现了那个设置:

position="current-location"
<{1>}上我用来显示当前位置的<custom-marker>实际 调用navigator.geolocation.getCurrentPosition并且干扰了我自己对{的调用{1}}。我现在使用以下作为getCurrentPosition中的位置:

<custom-marker>

......我这样设置:

position="{{mapsCtrl.userLat + ',' + mapsCtrl.userLng}}"