Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android地图中显示靠近路线路径的标记?_Android_Google Maps_Google Maps Markers - Fatal编程技术网

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

如何在android地图中显示靠近路线路径的标记?,android,google-maps,google-maps-markers,Android,Google Maps,Google Maps Markers,我有一个带有映射活动的应用程序。我也在上面放了一些记号笔 在这个问题中,我发现了如何在两点之间绘制路径: 如何仅显示半径(例如500m)内靠近此路径的标记?您可以从以下位置使用PolyUtil.isLocationOnPath方法: 计算给定点是否位于多段线上或附近,并在指定的公差范围内(以米为单位)。如果测地线为真,则多段线由大圆线段组成,否则由直角线段组成。多段线未闭合--不包括第一个点和最后一个点之间的闭合线段 公共静态布尔isLocationOnPath(LatLng点、列表多段线、布

我有一个带有映射活动的应用程序。我也在上面放了一些记号笔

在这个问题中,我发现了如何在两点之间绘制路径:


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

您可以从以下位置使用
PolyUtil.isLocationOnPath
方法:

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

公共静态布尔isLocationOnPath(LatLng点、列表多段线、布尔测地线、双公差)

您需要迭代标记,使其可见或不可见,具体取决于返回的
PolyUtil.isLocationOnPath
值以及所需的公差(示例中为500):

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