React native 使用sim网络在没有GPS或internet的情况下检测用户当前位置

React native 使用sim网络在没有GPS或internet的情况下检测用户当前位置,react-native,gps,React Native,Gps,我想得到用户的当前位置(只是在安卓)没有互联网和发送短信。我尝试在react native中使用以下代码: navigator.geolocation.getCurrentPosition( (position) => { let initialPosition = JSON.stringify(position); console.log(initialPosition); }

我想得到用户的当前位置(只是在安卓)没有互联网和发送短信。我尝试在react native中使用以下代码:

navigator.geolocation.getCurrentPosition(
            (position) => {
                let initialPosition = JSON.stringify(position);
                console.log(initialPosition);
            },
            (error) => console.log(JSON.stringify(error)),
            {enableHighAccuracy: true, timeout: 15000, maximumAge: 2000 }
        );
但是这个代码给了我这个错误:

error : 3 , Location request timed out
我在谷歌搜索,也搜索这个问题,并尝试了很多方法来解决它,比如:

enableHighAccuracy: false
或 删除选项参数

 {enableHighAccuracy: true, timeout: 15000, maximumAge: 2000 }
或 删除
maximumAge
以及当删除
maximumAge
此工作时,但当删除它时 设备为我提供上次检测到的用户位置,该位置可能距离用户当前位置很远

也可以尝试使用这个库 对于最后一个解决方案和实现库示例代码:

但这段代码只适用于WIFI,并且当WIFI处于禁用状态时,请给我
超时
错误

我的问题是:

在react native中,如果没有GPS或internet网络,我如何使用sim网络检测用户当前位置?react native支持许多android设备和SDK版本

  • 无需删除maximumAge,只需放入0(maximumAge:0)。如果删除它,则最后一个位置将被缓存

  • 和EnableHighAccurance设置为false

  • 使更多的超时

  • maximumAge(ms)-是一个正值,指示可接受返回的可能缓存位置的最大使用时间(以毫秒为单位)。如果设置为0,则表示设备无法使用缓存位置,必须尝试检索实际的当前位置。如果设置为无穷大,设备将始终返回缓存位置,而不管其使用年限如何默认为无穷大

    请记住在AndroidManifest.xml文件中使用权限


    有什么突破吗?