You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Leaflet Js获取生成路线所有点位实现路线偏航检测的方法

问题场景

我使用Leaflet绘制路线的代码如下:

var route = L.Routing.Control({
    waypoints: receivedWaypoints,
    routeWhileDragging: true,
    fitSelectedRoutes: true,
    router: new L.Routing.orsmv1({language: 'pt-br', profile: 'car'}),
}).addTo(map);

我的需求是:获取路线的所有点位,每隔X秒检测车辆是否处于路线范围内,若不在则计算车辆当前位置与初始生成路线最近点位的距离,判断是否超出允许的偏航阈值。我仅传入了路线起点和终点两个点位,想要获取整条路线各线段的端点坐标,Leaflet中是否有方法可以实现该需求?具体如何操作?

实现方法

在使用上述代码生成路线后,监听routeselected事件即可获取路线所有经纬度坐标,代码如下:

route.on('routeselected', function(e){
    // 此处即可返回所有经纬度坐标,请注意生成数组的长度
    var allPositions = route._selectedRoute.coordinates;
});

拿到allPositions坐标数组后,即可基于该数组实现后续的偏航检测逻辑:

  • 定期拉取车辆当前坐标
  • 计算当前坐标与路线上所有点位的最短距离
  • 对比设定的偏航阈值判断是否触发偏航告警

内容的提问来源于stack exchange,提问作者gabrielcassimiro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 00:48:00