html geolocation:未知错误获取位置

Thr*_*ood 8 html javascript firefox geolocation google-geolocation

我正在尝试使用 HTML 地理定位来获取我的位置。有趣的是,它一直工作得非常出色,直到它停止工作的某个看似随机的点。现在我得到的是带有消息的错误回调:

Unknown error acquiring position
Run Code Online (Sandbox Code Playgroud)

这发生在我第一次开始开发应用程序的那天。它是一个在 Node/Express 中构建的 Web 应用程序。我使用的浏览器是 Firefox v53 64 位。

位置是允许的,我还尝试了一个我在网上找到的修复方法,它涉及到 about:config 并geo.wifi.uri从以下位置更改:

https://www.googleapis.com/geolocation/v1/geolocate?key=%GOOGLE_API_KEY%
Run Code Online (Sandbox Code Playgroud)

https://www.googleapis.com/geolocation/v1/geolocate?key=test
Run Code Online (Sandbox Code Playgroud)

这对我不起作用。

然而,这确实适用于我的手机 Firefox 应用程序,但不适用于 Google Chrome 应用程序。

这是一个示例代码片段:

    const geo = navigator.geolocation;
    geo.getCurrentPosition(success, failure);

    function success(position) {
        lat = position.coords.latitude;
        lng = position.coords.longitude;
        $('#coords').val(lat + ',' + lng);
        mapView.setCenter(ol.proj.fromLonLat([lng, lat]));
    }

    function failure(error) {
        console.log(error.message);
    }
Run Code Online (Sandbox Code Playgroud)

完整页面:https : //github.com/ThriceGood/Spots/blob/master/views/index.html

任何人都可以对这个问题有所了解吗?

aut*_*pot 8

对我有用的是geo.wifi.uri改为:

https://location.services.mozilla.com/v1/geolocate?key=test
Run Code Online (Sandbox Code Playgroud)

根据此页面: navigator.geolocation.getCurrentPosition 在 Firefox 30.0 中不起作用

  • 如何在客户端机器上执行此操作?以编程方式? (2认同)