我正在尝试使用react-native-maps模块制作一个应用程序。
我可以通过navigator.geolocation.watchPosition获取设备位置,还使用了内置的showUserLocation属性。
如何实现在加载地图时定位到用户位置,而不是看到整个世界或硬编码初始位置。
编辑:
这是我的react-native-map元素。区域被设置为硬编码的初始位置,我想将其更改为始终在用户位置上加载。
有没有解决方案?谢谢你的帮助 :)
<View style={styles.container}>
<MapView
style={styles.map}
region={this.state.initialPosition}
showsMyLocationButton={true}
loadingEnabled={true}
onRegionChange={(region)=> this.setState({ initialPosition:region })}
onLongPress={this.mapOnPress}
showsUserLocation={true}
>
我在应用中使用的位置信息来自于这里,但是加载速度非常缓慢,通常需要超过20秒,因此我想跳过这20秒并立即加载用户位置。
this.watchID= navigator.geolocation.watchPosition((position)=>{
var lastRegion ={
latitude: lat,
longitude: lon,
longitudeDelta: LON_D,
latitudeDelta: LAT_D
}
this.setState({initialPosition:lastRegion})},(error)=>alert(error),{enableHighAccuracy:true,timeout:20,maximumAge:10})
有没有解决方案?谢谢你的帮助 :)