FollowsUserLocation在Android上不起作用(反应式本机地图)

时间:2018-11-26 04:46:04

标签: android react-native react-native-maps

在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"
  }
}

1 个答案:

答案 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。