我需要从 GPS 访问我的位置。所以,我将地理位置导入项目。
首先,我像这样创建以下内容(安装反应原生地图,已经链接)
我刚刚在我的 Xcode 中添加了 NSLocationWhenInUseUsageDescription
另外,我的 Xcode 中已经有 libRCTGeolocation.a
然后,我只是在 Airbnb 的 mapview 中阅读地图视图。告诉我设置 showUserLocation 将其设置为“true”。设置为 true 时将要求用户访问位置。
参考:https ://github.com/airbnb/react-native-maps/blob/master/docs/mapview.md
最后,那是不要求任何东西来访问位置。所以,我不知道为什么。我找不到我当前的位置。
这是我从一开始就描述的一步一步的照片 http://imgur.com/a/5TJZa
我会告诉你我的代码。
路由.js
import React, { Component, PropTypes } from 'react';
import {
StyleSheet,
View,
Text,
Image,
Dimensions,
} from 'react-native';
import MapView from 'react-native-maps';
var {height, width} = Dimensions.get('window');
export default class Route extends Component {
constructor(props){
super(props);
this.state = {
region: {
latitude: 37.78825,
longitude: -122.4324,
latitudeDelta: 0.0922,
longitudeDelta: 0.0421,
}
};
this.onRegionChange = this.onRegionChange.bind(this);
}
onRegionChange(region) {
this.setState({ region });
}
render() {
return (
<View style={styles.container}>
<MapView style={styles.map}
mapType="standard"
showsUserLocation={true}
followsUserLocation={true}
showsCompass={false}
showsPointOfInterest={false}
region={this.state.region}
onRegionChange={this.onRegionChange}
/>
<View style={styles.container}>
<Text>
Latitude: {this.state.region.latitude}{'\n'}
Longitude: {this.state.region.longitude}{'\n'}
LatitudeDelta: {this.state.region.latitudeDelta}{'\n'}
LongitudeDelta: {this.state.region.longitudeDelta}
</Text>
</View>
</View>
);
}
}
Route.navigationOptions = { //this define from App.js option in SecondScreen
title: 'Route', //name top of StackNavigator
};
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
},
image: {
width: 200,
height: 200,
},
text: {
color: 'white',
fontWeight: 'bold',
backgroundColor: 'transparent',
marginTop: 20,
},
map: {
width: width,
height: height*2/3
}
});