在iOS上,地图会遵循用户的位置,但在Android上,则不会。用户的位置显示在地图上,“我的位置”按钮也可以正常工作。
Android无法跟踪位置可能是什么问题?
<MapView
style={styles.map, { flex: 1, marginBottom: this.state.marginBottom }}
onMapReady={this._onMapReady}
initialRegion={initialRegion}
showsUserLocation={true}
followsUserLocation={true}
showsMyLocationButton={true}
>
react-native-maps:0.21.0
反应:16.4.1
package.json:
{
...
},
"dependencies": {
"@mapbox/polyline": "^1.0.0",
"@turf/turf": "^5.1.6",
"axios": "^0.18.0",
"moment": "^2.22.2",
"react": "16.4.1",
"react-moment": "^0.8.3",
"react-native": "0.56.1",
"react-native-background-geolocation-android": "git+ssh://git@github.com/transistorsoft/react-native-background-geolocation-android.git",
"react-native-easy-toast": "^1.1.0",
"react-native-firebase": "^4.3.8",
"react-native-iphone-x-helper": "^1.1.0",
"react-native-maps": "^0.21.0",
"react-native-navigation": "^2.0.2641",
"react-native-sound": "^0.10.9",
"react-native-sound-player": "^0.5.3",
"react-native-speech": "^0.1.2",
"react-native-splash-screen": "^3.1.1",
"react-native-svg": "^7.0.2",
"react-native-svg-uri": "^1.2.3",
"react-native-tts": "^2.0.0",
"react-native-view-overflow": "0.0.3",
"react-redux": "^5.0.7",
"redux": "^4.0.0",
"redux-thunk": "^2.3.0",
"styled-components": "^3.4.6"
},
"devDependencies": {
"babel-jest": "23.6.0",
"babel-preset-react-native": "5.0.2",
"jest": "23.6.0",
"react-test-renderer": "16.4.1",
"redux-devtools-extension": "^2.13.5",
"remote-redux-devtools": "^0.5.13"
},
"jest": {
"preset": "react-native"
}
}
答案 0 :(得分:0)
在https://github.com/react-community/react-native-maps/issues/1038#issuecomment-404223242之后,我设法解决了这个问题。这正是我想要实现的。默认情况下,地图遵循用户位置,但是在拖动地图时将禁用跟踪。
然后,我在此https://github.com/react-community/react-native-maps/issues/209#issuecomment-350907665之后为当前位置创建了一个按钮。将按钮设置FollowsUserLocation设为true。