如何从 google API 获取经度和纬度

How to Fetch longitude and Latitude from google API

我正在尝试从 google 地图 Api 获取经度和纬度,所以当我将其与 API 键一起放在浏览器上时,像这样

https://maps.googleapis.com/maps/api/geocode/json?address=%2727,%20Bello%20Street%20Orile%20Iganmu,%20Lagos%20Nigeria%27&sensor=false&key=AIzaSyBsy6x3mTXbPQ52qk6XMI9u1NgMfn9-YNE

我明白了

这很好,现在我想在 React Native 中获得相同的效果。我创建了这个看起来像这样的方法

GetLongitudeFromAddress = (txtaddress) =>{

    let address = txtaddress;
    let lng = this.state.Alongitude;
    let lat = this.state.Alatitude;

    var logLatApi = 'https://maps.googleapis.com/maps/api/geocode/json?address='+address+'&sensor=false&key=AIzaSyBsy6x3mTXbPQ52qk6XMI9u1NgMfn9-YNE';

    var header = {
        'Accept': 'application/json',
        'Content-Type': 'application/json'
    };

    fetch(
        logLatApi,{
            method : 'GET',
            headers : header
        }
    ).then((response) => response.json())
    .then((responseJson)=>{
        if(responseJson =='OK')
        {
            this.setState({longitude:responseJson[0].Alongitude});
            this.setState({latitude:responseJson[0].Alatitude});
        }
    })
}

它没有得到正确的经度,有时,它 returns 无效,我试着把它放在 onTextChange() 请问我如何让它印上正确的经度和纬度。 ?

将您的状态设置行更正为此

this.setState({ longitude : responseJson.results[0].geometry.location.lng });
this.setState({ latitude : responseJson.results[0].geometry.location.lat });

你的 fetch 应该是这样的

fetch( logLatApi, {
            method : 'GET',
            headers : header
        }
    ).then((response) => response.json())
    .then((responseJson)=>{
        if(responseJson.status === 'OK')
        { 
           this.setState({ longitude : responseJson.results[0].geometry.location.lng });
           this.setState({ latitude : responseJson.results[0].geometry.location.lat });
        }
    })