javascript - LEAFLETJS 获取航路点之间路线上的所有点
问题描述
[重复]我再次问这个问题,因为通过将下面的问题链接到我的问题,我的原始问题被错误地关闭了,但是提供的解决方案没有回答我的问题。
以前提供的“解决方案”:(从传单路由机获取航点) - 这个问题没有回答我的问题,因为答案只返回我已经提供的航点,它不返回构成路线的航点之间的点。
我最初的问题在这里:如何获取航点之间路线上的所有点?
我想为路线上的标记设置动画。我已经能够在航点之间成功地为标记设置动画,但我想以编程方式获取两个航点之间的点,以便我可以使用函数自动设置路线并沿路线设置动画。
将知道两个航路点,即 A 点和 B 点。我想要的是能够自动获取 A 点和 B 点之间的所有点,以便标记沿路线动画,而不是像乌鸦飞一样。我可以通过手动输入所需的航点成功地为路线设置动画,所以我知道如果我可以检索航点之间的点,这将起作用。
到目前为止,这是我的代码:
// Draw route
var routeData = L.Routing.control({
router: L.Routing.mapbox(L.mapbox.accessToken,{
profile : 'mapbox/driving',
language: 'en',
}),
waypoints: [
L.latLng(52.501737, -2.119792),
L.latLng(52.498798, -2.102591)
],
lineOptions:{
styles: [
{
color: '#006a4e', opacity: 1, weight: 5
}
],
},
draggableWaypoints: false,
createMarker: function() { return false; },
show: false,
}).addTo(mymap);
var routeArray = new Array();
routeArray = routeData.getWaypoints();
console.log(routeArray);
// Draw animation
L.motion.polyline([[52.501737, -2.119792], [52.501267, -2.114707], [52.500313, -2.110361], [52.499243, -2.108751], [52.498596, -2.105886], [52.498812, -2.104953], [52.498798, -2.102591]], {
color: "transparent"
}, {
auto: true,
duration: 30000,
easing: L.Motion.Ease.easeInOutQuart
}, {
removeOnEnd: false,
showMarker: true,
icon: L.icon({iconUrl: 'marker.png', iconSize: [32,37]})
}).addTo(mymap);
计划是找到路点之间的点,将它们输入一个数组并在折线内分解数组,如下所示:
var pointsArray = new Array(???);
L.motion.polyline(pointsArray,...
我只是不知道如何获取 pointsArray 的数据。我正在使用带有 MapBox 数据的 Leaflet Routing Machine。
有什么帮助吗?
我希望我已经足够清楚地解释了自己。
解决方案
推荐阅读
- git - 我正在尝试通过 git(命令行)将一个项目从我的 pc 拉到 github。但我无法从 github 获取链接
- angular - 为什么这个组件没有应用 css 规则?
- c# - 如果目标足够近,如何使炮塔面向目标旋转并使目标以随机高度和速度围绕炮塔旋转?
- git - 如何正确克隆并切换到现有的 fork 分支
- nlog - NLog 将条目保存到数据库(postgresql),
- yii2 - 有没有办法在 yii2 中动态更改 kartik/select2 上的 maximumSelectionLength?
- java - 确定 Unicode 代码点是否代表来自特定脚本(例如拉丁脚本)的字符?
- variables - Stata以及如何在回归中使用局部变量
- python - 如何复制 matplotlib ax 对象
- python - 读取同一文件夹中的文件 - 改进?