【问题标题】:How can i show markers close to a route path in android maps?如何在 android 地图中显示靠近路线路径的标记?
【发布时间】:2017-08-08 21:17:45
【问题描述】:

我有一个带有地图活动的应用程序。我也在上面放了一些标记。

我在这个 SO 问题中找到了如何在 2 点之间绘制路径: Answer : Draw path between two points using Google Maps Android API v2

如何仅显示半径(例如 500m)内靠近此路径的标记?

【问题讨论】:

    标签: android google-maps google-maps-markers


    【解决方案1】:

    您可以使用Google Maps Android API Utility Library 中的PolyUtil.isLocationOnPath 方法:

    计算给定点是否位于多段线上或附近,在以米为单位的指定容差范围内。如果测地线为真,则多段线由大圆线段组成,否则由 Rhumb 线段组成。折线未闭合——不包括第一个点和最后一个点之间的闭合段。

    public static boolean isLocationOnPath(LatLng point, List<LatLng> polyline, boolean geodesic, double tolerance)

    您将需要迭代您的标记,并根据PolyUtil.isLocationOnPath 的返回值以及您所需的容差(在您的示例中为 500)使它们可见或不可见:

    for(Marker marker : markers) {
        if (PolyUtil.isLocationOnPath(marker.getPosition(), yourRoutePath, false, 500)) {
            marker.setVisible(true);
        } else {
            marker.setVisible(false);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-28
      • 1970-01-01
      • 2016-06-25
      • 1970-01-01
      • 1970-01-01
      • 2019-10-09
      • 2018-12-18
      • 1970-01-01
      相关资源
      最近更新 更多