传单路由机上是否有一种方法可以检查特定点,例如(lat,lng)是否在路由折线内?
答案 0 :(得分:1)
没有,但使用Leaflet.GeometryUtil
仍然可行查看belongsSegment功能:
belongsSegment(latlng, latlngA, latlngB, toleranceopt, nullable) → {boolean}
Returns true if the latlng belongs to segment A-B
因此,当在“路由计算机”中选择路径时,如果该点属于具有给定容差的点,则检查折线的每个段:
var point = {your specific point};
...
map.on('routeselected', function(e) {
var route = e.route;
isPointOnLine(point, route.coordinates));
})
其中isPointOnLine是
function isPointOnLine(point, path) {
for (var i = 0; i < path.length - 1; i++) {
if (L.GeometryUtil.belongsSegment(point, path[i], path[i + 1])) {
return true;
}
}
return false;
}