首页 > 解决方案 > 找到离给定点最近的折线

问题描述

我正在开发一个使用 Google Maps API 的 android 应用程序。

我正在寻找一种算法,它可以帮助我找到最接近给定点的折线。我有一张包含 100 条折线的地图,我想找到离给定点最近的折线。

下图是一个示例,其中红点是位置,蓝线是一些折线。我可以访问折线上的所有点。我想以某种方式利用起点和终点,但我不知道该怎么做。

在此处输入图像描述

目前,我只是简单地遍历所有折线列表,但效率不高,我希望提高应用程序示例代码的性能:

        for (Map.Entry<String, ArrayList<List<LatLng>>> entry : map.entrySet()) {
            entry.getValue().stream().parallel().forEach(obj -> {
                boolean isonPath = PolyUtil.isLocationOnPath(currentLocation, obj, true, 100);
                if (isonPath) {
//                do something if the point is on the path
                }
            });
        }

标签: javaandroidperformancegoogle-mapspolyline

解决方案


推荐阅读