gpt4 book ai didi

javascript - 传单路由机 - 如何设置线路不可拖动?

转载 作者:行者123 更新时间:2023-11-28 06:54:08 25 4
gpt4 key购买 nike

我需要使用 leaftlet-routing-machine 将路由线设置为“不可拖动”。谁能帮我吗?

编辑:

抱歉,我使用以下代码创建了一条路线:

        var routerMap = new L.Routing.OSRM({
serviceUrl: "http://192.168.20.26:5000/viaroute",
timeout: 60000
});

if (routeControl != undefined) routeControl.getPlan().setWaypoints([]);

routeControl = L.Routing.control({
waypoints: novasCoord,
router: routerMap,
routeWhileDragging: true
});

routeControl.on("routefound", function (e) {
routeCoordinates = e.route.coordinates;
});

//routeControl.on("routeselected", function (e) {
// routeCoordinates = e.route.coordinates;
//});

routeControl.addTo(map);

但我不想让客户端拖动L.Routing生成的线...

最佳答案

查看docs对于此插件,L.Routing.Line 有一个选项可以启用/禁用(默认情况下启用)通过拖动线添加新路径点的可能性。

这些选项称为addWaypoints

只需将其设置为 false,例如,您可以扩展 L.Routing.Line 以默认禁用添加航路点的可能性。

    L.Routing.Line = L.Routing.Line.extend({
options: {
styles: [
{color: 'black', opacity: 0.15, weight: 9},
{color: 'white', opacity: 0.8, weight: 6},
{color: 'red', opacity: 1, weight: 2}
],
missingRouteStyles: [
{color: 'black', opacity: 0.15, weight: 7},
{color: 'white', opacity: 0.6, weight: 4},
{color: 'gray', opacity: 0.8, weight: 2, dashArray: '7,12'}
],
addWaypoints: false,
extendToWaypoints: true,
missingRouteTolerance: 10
},
});

或者在实例化 L.Routing.Control 时通过传递 lineOptions 属性即时执行此操作。

routeControl = L.Routing.control({
/* your config */
lineOptions : {
addWaypoints: false
}
});

这将满足您的需求。

兄弟。

关于javascript - 传单路由机 - 如何设置线路不可拖动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32703235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com