【问题标题】:Get coordinates of showsUserLocation marker in react-native-maps for Android在 Android 的 react-native-maps 中获取 showUserLocation 标记的坐标
【发布时间】:2017-10-23 13:48:24
【问题描述】:

有谁知道如何在 react-native-maps 中获取 showUserLocation-marker 的坐标?或者如何修改Android的Java代码来提取这些信息?

任何关于如何做到这一点的建议将不胜感激。

【问题讨论】:

  • 我自己开始看同样的东西。发现“react-native-android-map-view”和“FusedLocationProviderApi”是从 RN-map 引入位置通知器的有希望的方法。最终使用了不理想的解决方法navigator.geolocation.watchPosition,因为我的时间似乎不是无限的。将其用于地图跟踪和路径绘制。
  • @mcmhav 我明白了。尽量避免使用 navigator.geolocation,因为它在 android 上确实不稳定。但我认为我将能够将坐标实现为现有库中的回调(例如 onRegionChange)。只是希望其他人在我之前做到了。
  • @mcmhav 你是如何绘制路径的?我正在尝试使用带有 mode='walking' 的谷歌方向 API 构建相同的东西,但它根本不准确
  • 1.按照@J.Doe 的建议获取坐标(我发现20 米对于distanceFilter 来说是一个不错的值,因为太多似乎对react-native-maps 来说很麻烦。但你最终可能会走捷径)2。将它们添加到存储中(例如 redux-store) 3. 在可视化地图和路径的组件中,MapView.Polyline 用于绘制坐标之间的线。 {coords.map(coord => <MapView.Polyline coordinates={coords} />)} 这提供了一条相当不错的步行路径。
  • navigator.geolocation.watchPosition 与 react-native-map 的 showuserlocation 不匹配,因为我完美地移动了用户定位,但我从地理位置获取的数据不准确。知道如何实现 showuserlocation.onregionChange 和 onRegionComplete 的值,它只有在我们触摸屏幕时才有效

标签: react-native react-native-maps


【解决方案1】:

我就是这样做的,为了获得真正的实时GPS数据,你需要指定你的第三方参数,distanceFilter

const GEOLOCATION_SETTINGS = { enableHighAccuracy: true, distanceFilter: 1, maximumAge: 1000 }

然后

this.watchID = navigator.geolocation.watchPosition((position) => {
    console.log(position.coords) // get your showUserLocation here
},
  (error) => console.log(error.message), GEOLOCATION_SETTINGS
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多