我有一個地圖活動的應用程序。我也在上面放了一些標記。如何在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);
}
}