gpt4 book ai didi

javascript - 在 OpenLayers 3 中动态添加和删除轨道中的片段

转载 作者:行者123 更新时间:2023-11-27 23:54:07 25 4
gpt4 key购买 nike

我想用 OpenLayers 3 实时显示一条轨迹,该轨迹在最后会消失,就像蜗牛轨迹一样。

仅将新坐标附加到 LineString 很容易。看这个example 。但是API似乎不支持从行尾删除坐标。

我该怎么办?扩展 LineString 类是唯一的选择吗?或者我应该为每个线段使用单独的功能?

更新:

我将此代码与 ol-debug.js 一起使用。但编译版本中并没有导出 get/setFlatCooperatives。

var flatCoordinates = geometry.getFlatCoordinates();  // not exported
if (flatCoordinates && flatCoordinates.length > 100) {
// remove first coordinate elements from array
flatCoordinates.splice(0, geometry.getStride());
// call push with coordinate elements as arguments
Array.prototype.push.apply(flatCoordinates, coordinate);
// update coordinates calling change()
geometry.setFlatCoordinates(geometry.getLayout(), flatCoordinates);
}
else {
geometry.appendCoordinate(coordinate);
}

最佳答案

appendCoordinate方法是在 LineString 末尾添加坐标这一相当常见的用例的快捷方式。要通过更多控制修改几何图形,请使用 setCoordinates 设置所需的坐标。 .

var maxCoords = 100;
var coords = lineString.getCoordinates(); // get coordinate array
coords.unshift(newCoord); // add to beginning of array
if (coords.length > maxCoords) {
coords.length = maxCoords;
}
lineString.setCoordinates(coords);

关于javascript - 在 OpenLayers 3 中动态添加和删除轨道中的片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32411953/

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