如何在android地图中显示靠近路径路径的标记?

时间:2017-03-17 10:45:04

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

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

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

我如何仅显示半径中距离此路径很近的标记,例如500米?

1 个答案:

答案 0 :(得分: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);
    }
}