React Native定位服务如何实现Wifi、基站定位



  • 各位好,本人近期在做一个和定位服务相关的React Native项目,根据中文社区提供的文档,使用Geolocation实现了一版ios中的定位服务,具体代码如下:

    navigator.geolocation.getCurrentPosition(
        (position) => {
            console.log("Geo Position:", JSON.stringify(position));
            Geocoder.geocodePosition({
                lat : position.coords.latitude,
                lng : position.coords.longitude
            }).then(res => {
                this.props.dispatch({
                    type : "LOCATE_CITY",
                    name : res[0].locality.replace("市", "")
                });
            }).catch(err => {
                alert(err.toString());    
            })
        },
        (err) => { 
            console.log("Geo Err : ", err);
        },
        { enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 }
    );
    

    在我手机开启定位服务的时候,能够正确的获取gps经纬度信息以及具体的地理位置信息,不过在尚未开启定位服务时,会提示没有权限,如:

    {
        PERMISSION_DENIED: 1,
        POSITION_UNAVAILABLE: 2,
        TIMEOUT: 3,
        code: 1,
        message: "User denied access to location services."
    }
    

    不过,我希望能够在用户未开启定位服务的时候,能够通过Wifi、基站定位来获取位置信息,有没有比较好的React Native SDK可以推荐 或者 其他实现方法 ?

    谢谢 🙏 !