如何从 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 });
}
})
我正在尝试从 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 });
}
})