-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathApp.js
52 lines (46 loc) · 1.28 KB
/
App.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import React from 'react';
import {View, Platform} from 'react-native';
import {MapView, Constants, Location, Permissions} from 'expo';
export default class App extends React.Component {
state = {
errorMessage: null,
mapRegion: null,
};
componentWillMount() {
this._getLocationAsync();
}
_getLocationAsync = async () => {
let {status} = await Permissions.askAsync(Permissions.LOCATION);
if (status !== 'granted') {
this.setState({
errorMessage: 'Permission to access location was denied',
});
}
await Location.watchPositionAsync({}, location =>
this.setState({
mapRegion: {
latitude: location.coords.latitude, longitude: location.coords.longitude,
latitudeDelta: 0.0922 / 5, longitudeDelta: 0.0421 / 5
}
})
)
};
render() {
return (
<View style={{flex: 1}}>
<MapView
style={{flex: 1}}
zoomEnabled={true}
showsUserLocation={true}
region={this.state.mapRegion}
initialRegion={{
latitude: 37.78825,
longitude: -122.4324,
latitudeDelta: 0.0922,
longitudeDelta: 0.0421,
}}
/>
</View>
);
}
}