Native reagieren - Geolocation
In diesem Kapitel zeigen wir Ihnen die Verwendung Geolocation.
Schritt 1: App.js.
import React from 'react'
import GeolocationExample from './geolocation_example.js'
const App = () => {
return (
<GeolocationExample />
)
}
export default App
Schritt 2: Geolokalisierung
Wir beginnen mit dem Einrichten des Anfangszustands, der die Anfangs- und die letzte Position enthält.
Jetzt müssen wir die aktuelle Position des Geräts abrufen, wenn eine Komponente mit dem montiert wird navigator.geolocation.getCurrentPosition. Wir werden die Antwort stringifizieren, damit wir den Status aktualisieren können.
navigator.geolocation.watchPositionwird zum Verfolgen der Position des Benutzers verwendet. In diesem Schritt löschen wir auch die Beobachter.
AsyncStorageExample.js
import React, { Component } from 'react'
import { View, Text, Switch, StyleSheet} from 'react-native'
class SwichExample extends Component {
state = {
initialPosition: 'unknown',
lastPosition: 'unknown',
}
watchID: ?number = null;
componentDidMount = () => {
navigator.geolocation.getCurrentPosition(
(position) => {
const initialPosition = JSON.stringify(position);
this.setState({ initialPosition });
},
(error) => alert(error.message),
{ enableHighAccuracy: true, timeout: 20000, maximumAge: 1000 }
);
this.watchID = navigator.geolocation.watchPosition((position) => {
const lastPosition = JSON.stringify(position);
this.setState({ lastPosition });
});
}
componentWillUnmount = () => {
navigator.geolocation.clearWatch(this.watchID);
}
render() {
return (
<View style = {styles.container}>
<Text style = {styles.boldText}>
Initial position:
</Text>
<Text>
{this.state.initialPosition}
</Text>
<Text style = {styles.boldText}>
Current position:
</Text>
<Text>
{this.state.lastPosition}
</Text>
</View>
)
}
}
export default SwichExample
const styles = StyleSheet.create ({
container: {
flex: 1,
alignItems: 'center',
marginTop: 50
},
boldText: {
fontSize: 30,
color: 'red',
}
})