我需要从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
我会告诉你我的代码。
Route.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
}
});
答案 0 :(得分:0)
在iOS模拟器中,它会读取虚假位置。使用 Debug&gt;设置自定义位置位置&gt;模拟器菜单中的自定义位置... 。
如果您在真实设备上运行它,您将获得真实位置。如果您继续使用模拟器,则可以使用自定义位置菜单放置当前位置。您可以通过多种方式获取您的位置:http://mylocation.org/。