想从react native js+google api key获取当前位置
Want to get current location from react native js+google api key
我想在 text/alert 中获取当前位置,在反应本机中想要文本中的城市名称
这是我的代码:
getData(){
Geocoder.init("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
Geocoder.from(41.89, 12.49)
.then(json => {
var addressComponent = json.results[0].formatted_address;
console.log(addressComponent);
console.log(addressComponent)
alert(addressComponent);
})
.catch(error => console.warn(error));
}
使用此代码获取当前纬度和经度:
navigator.geolocation.getCurrentPosition(
(position) => {
console.log('lat',position.coords.latitude);
console.log('lng',position.coords.longitude);
//Your Code
// ( DO fetch call to get address from lat and lng
// https://maps.googleapis.com/maps/api/geocode/json?key=
<\API_KEY_HERE>&latlng="latitude","longitude"&sensor=true )
},
(error) => this.setState({ error: error.message }),
{ enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 },
);
带有地理定位的完整示例 API。
正如我在评论中所说;您不需要 Google API 来获取设备的当前坐标。您可以使用地理位置 API
import React, { Component } from 'react';
import { View, Text } from 'react-native';
class FindMyLocationExample extends Component {
constructor(props) {
super(props);
this.state = {
latitude: null,
longitude: null,
error: null,
};
}
componentDidMount() {
navigator.geolocation.getCurrentPosition(
(position) => {
this.setState({
latitude: position.coords.latitude,
longitude: position.coords.longitude,
error: null,
});
},
(error) => this.setState({ error: error.message }),
{ enableHighAccuracy: true, timeout: 10000, maximumAge: 1000 },
);
}
render() {
return (
<View style={{ flexGrow: 1, alignItems: 'center', justifyContent: 'center' }}>
<Text>Latitude: {this.state.latitude}</Text>
<Text>Longitude: {this.state.longitude}</Text>
{this.state.error ? <Text>Error: {this.state.error}</Text> : null}
</View>
);
}
}
getData(){
Geocoder.init("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
Geocoder.from(41.89, 12.49)
.then(json => {
var addressComponent = json.results[0].formatted_address;
console.log(addressComponent);
console.log(addressComponent)
alert(addressComponent);
})
.catch(error => console.warn(error));
}
我想将其与当前位置的经纬度结合起来
我想在 text/alert 中获取当前位置,在反应本机中想要文本中的城市名称
这是我的代码:
getData(){
Geocoder.init("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
Geocoder.from(41.89, 12.49)
.then(json => {
var addressComponent = json.results[0].formatted_address;
console.log(addressComponent);
console.log(addressComponent)
alert(addressComponent);
})
.catch(error => console.warn(error));
}
使用此代码获取当前纬度和经度:
navigator.geolocation.getCurrentPosition(
(position) => {
console.log('lat',position.coords.latitude);
console.log('lng',position.coords.longitude);
//Your Code
// ( DO fetch call to get address from lat and lng
// https://maps.googleapis.com/maps/api/geocode/json?key=
<\API_KEY_HERE>&latlng="latitude","longitude"&sensor=true )
},
(error) => this.setState({ error: error.message }),
{ enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 },
);
带有地理定位的完整示例 API。
正如我在评论中所说;您不需要 Google API 来获取设备的当前坐标。您可以使用地理位置 API
import React, { Component } from 'react';
import { View, Text } from 'react-native';
class FindMyLocationExample extends Component {
constructor(props) {
super(props);
this.state = {
latitude: null,
longitude: null,
error: null,
};
}
componentDidMount() {
navigator.geolocation.getCurrentPosition(
(position) => {
this.setState({
latitude: position.coords.latitude,
longitude: position.coords.longitude,
error: null,
});
},
(error) => this.setState({ error: error.message }),
{ enableHighAccuracy: true, timeout: 10000, maximumAge: 1000 },
);
}
render() {
return (
<View style={{ flexGrow: 1, alignItems: 'center', justifyContent: 'center' }}>
<Text>Latitude: {this.state.latitude}</Text>
<Text>Longitude: {this.state.longitude}</Text>
{this.state.error ? <Text>Error: {this.state.error}</Text> : null}
</View>
);
}
}
getData(){
Geocoder.init("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
Geocoder.from(41.89, 12.49)
.then(json => {
var addressComponent = json.results[0].formatted_address;
console.log(addressComponent);
console.log(addressComponent)
alert(addressComponent);
})
.catch(error => console.warn(error));
}
我想将其与当前位置的经纬度结合起来