我有一个地图活动的应用程序。我也在上面放了一些标记。如何在android地图中显示接近路径路径的标记?
我在这遇见过质疑如何绘制2点之间的路径: Answer : Draw path between two points using Google Maps Android API v2
我怎么能只显示我的那些标记是接近这个路径例如500米半径的?
我有一个地图活动的应用程序。我也在上面放了一些标记。如何在android地图中显示接近路径路径的标记?
我在这遇见过质疑如何绘制2点之间的路径: Answer : Draw path between two points using Google Maps Android API v2
我怎么能只显示我的那些标记是接近这个路径例如500米半径的?
您可以使用从Google Maps Android API Utility Library的PolyUtil.isLocationOnPath
方法:
计算指定点是否位于或靠近折线,以米为单位规定的公差范围内。如果测地线为真,则多段线由大圆段组成,否则由多段圆段组成。多段线未关闭 - 不包括第一点和最后一点之间的闭合段。
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);
}
}