我正在尝试使用 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}
>
Run Code Online (Sandbox Code Playgroud)
我在应用程序中使用的位置来自这里,但加载很晚,通常超过 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})
Run Code Online (Sandbox Code Playgroud)
有什么解决办法吗?谢谢你的帮助 :)