【问题标题】:Android path follow (Google map) ProgrammaticallyAndroid路径跟随(谷歌地图)以编程方式
【发布时间】:2018-05-09 04:36:47
【问题描述】:

如果我的 android 设备远离它通知的路径或显示您未遵循路径的警报,是否可以遵循 google map android 上的路径(以编程方式

将获得帮助, 谢谢:)

【问题讨论】:

  • 看看this
  • 谢谢亲爱的,但我的问题是不同的,如果我在两点之间的谷歌地图上绘制了一条路径,我想从起点移动到终点,但 android 应用程序强制我遵循确切的路径,如果用户不遵循路径它会提醒他你不在你的路径上

标签: android google-maps


【解决方案1】:

是的,可以通过多种方式实现。例如,您可以使用来自Google Maps Android API Utility LibraryPolyUtil.isLocationOnPath(LatLng point, java.util.List<LatLng> polyline, boolean geodesic, double tolerance)。在这种情况下,您需要检查(使用isLocationOnPath())用户位置是否位于路径的折线段上。类似的东西:

if (!PolyUtil.isLocationOnPath(userLocationPoint, pathPolyline.getPoints(), true, 50)) {
        // user away of pathPolyline more than 50 meters
        // show your alert here
        ...
    }
}

其中50 - 是公差(以米为单位)。 注意!这不是一个完整的解决方案 - 只是方法。

您还可以将geofence monitoring 用于多个航路点(每个设备用户限制为 100 个)。

【讨论】:

  • 谢谢你它对我有用,你能详细说明一下容忍度的实际作用是什么吗?
  • tolerance 50 表示允许50米范围内的所有地理点对吗?
  • @MuhammadWaqas 不客气。来自documentation:“给定点位于折线之上或附近,在以米为单位的指定公差内。如果测地线为真,则折线由大圆段组成” - 所以这意味着每个“边”的范围为 50 米(100 m间隔)。也可以学习PulyUtils.isLocationOnEdgeOrPath()的源码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-12
  • 2015-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-23
相关资源
最近更新 更多