あなたはGoogle Maps Android API Utility LibraryからPolyUtil.isLocationOnPath
メソッドを使用することができます。
は、与えられた点は、メートル単位で指定された許容範囲内で、ポリライン上またはその近くにあるかどうかを計算します。ポリラインは、測地線が真であれば大きな円のセグメントで、それ以外の場合はRhumbセグメントで構成されます。ポリラインは閉じられていません。最初の点と最後の点の間の終了部分は含まれません。
public static boolean isLocationOnPath(LatLng point, List<LatLng> polyline, boolean geodesic, double tolerance)
あなたのマーカーを反復し、ご希望の公差(あなたの例では500)でPolyUtil.isLocationOnPath
の戻り値に応じて、それらを表示または非表示にする必要があります。
for(Marker marker : markers) {
if (PolyUtil.isLocationOnPath(marker.getPosition(), yourRoutePath, false, 500)) {
marker.setVisible(true);
} else {
marker.setVisible(false);
}
}