java - 找到离给定点最近的折线
问题描述
我正在开发一个使用 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
}
});
}
解决方案
推荐阅读
- r - 使用 poly() 函数在 R 中回归
- java - 无法使用提取器实例化 ObservableList
- jquery-ui - 剑道网格导出到 Excel(打开文件插入保存)
- javascript - 从 React 中的方法内部重定向
- mysql - MySQL 过程/触发器/约束
- javascript - 如何在 JavaScript 中使用正则表达式对下划线或连字符分隔的单词进行缩写?
- python - modulenotfounderror:没有名为“sklearn”的模块
- php - MYSQL + php,避免日期冲突
- c# - CodeDom 的 AccessDenied(Win32.Ressource)
- android - 关于所需记录类型的建议