React Native 定位问题 5C

我要实现一个定位的功能~~
在postman上面可以测试成功
图片说明
但是在项目中不行
图片说明
控制台打印的结果为:
图片说明
求各位大佬们帮忙看看~

3个回答

fetch请求返回的是一个Promise,这个Promise包装了一些请求的属性,如果需要仅仅获取接口返回的数据,这样格式化一下json:

 fetch(url).then(data => data.json()).then(data => {
     //这里就是你需要的JSON了
     console.log(data);
 })
qq_26725075
丧尸会跳小芭蕾 不行啊,我把截图发到一个回答里面,请您再帮我看一下~
一年多之前 回复
 fetch(url).then(data => data.json()).then(data => {
     //这里就是你需要的JSON了
     console.log(data);
 })

结果为:
图片说明

qq_26725075
丧尸会跳小芭蕾 回复u012732432: 嗯嗯 好的
一年多之前 回复
u012732432
碳烤八斤牛腩 有可能是你没有提供一个处理reject的回调函数导致的,这个不是报错,只是个warning
一年多之前 回复
u012732432
碳烤八斤牛腩 你还是贴一下代码吧,感觉你返回的json格式有问题
一年多之前 回复

 componentDidMount() {
        this._getCityLocation()
            .then((data) => {
                console.log("位置?", "" + JSON.stringify(data));
            })
            .catch((error) => {
                console.log("失败" + JSON.stringify(error));
            })
    }

    //获取经纬度的方法
    _getLatitudeAndLongitude(){
        return new Promise((resolve,reject) => {
            Geolocation.getCurrentPosition(
                location => {
                    resolve([location.coords.latitude,location.coords.longitude]);
                },
                error => {
                    reject(error);
                }
            );
        })
    }

    //网络请求
    _getNetData(url) {
        return new Promise((resolve,reject) => {
           fetch(url).then((response) => response.json())
               .then((responseData) => {
                   resolve(responseData);
               })
               .catch((error) => {
                   reject(error)
               })
               .done()
        });
    }

    //获取当前城市
    _getCityLocation() {
        return new Promise((resolve,reject) => {
            this._getLatitudeAndLongitude()
                .then((locationArr) => {
                    let latitude = locationArr[0];
                    let longitude = locationArr[1];
                    const BaiduMap_URL = "http://api.map.baidu.com/geocoder/v2/?callback=renderReverse&output=json&pois=1&" +
                        "ak=3ZqDvnxYpoFz2oUQmCFMu9XpUm3QKuXv&mcode=B8:CA:55:20:E5:A1:8C:94:9B:53:E1:81:8F:92:8B:D4:59:5C:5B:D1;com.traveltips&" +
                        "location=";
                    this._getNetData(BaiduMap_URL + latitude + "," + longitude)
                        .then((data) => {
                            if(data.status == 0){
                                resolve(data);
                            } else {
                                reject(data.code);
                            }
                        })

                }).catch((data) => {
                    reject(data.code);
            })
        });
    }



Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问