gpt4 book ai didi

javascript - Openlayer3 - 避免折线在动画过程中消失

转载 作者:可可西里 更新时间:2023-11-01 13:24:14 26 4
gpt4 key购买 nike

我在 Flask 应用程序中有一个 openlayer3 实现。

我正在展示一艘帆船的动画,并实现了一个功能来跟随船的路线。但是,如果我放大这艘船,如果在船开始航行时它不在视线范围内,则该船航行的多段线将消失。有谁知道如何解决这个问题?

我创建了这个 jsfiddle说明问题。单击 follow ship 检查按钮并放大,这样就不会显示整条折线。启动动画并观察多段线随着船的航行而消失。

我研究过使用 renderBuffer,但在我的例子中,我有一条由 190.000 个数据点组成的巨大折线,而且我不知道这样一条线的像素大小。

var vectorLayer1 = new ol.layer.Vector({
source: new ol.source.Vector({
features: [routeFeature1, geoMarker1, startMarker1, endMarker1],
renderBuffer: 10000000
}),
style: function(feature) {
// hide geoMarker if animation is active
if (animating1 && feature.get('type') === 'geoMarker') {
return null;
}
return styles1[feature.get('type')];
}
});

这并不能解决我的问题。

我正在使用下面的线来跟随船的路线,我想知道我是否可以在每次移动时“重新绘制”这条线:

map1.getView().setCenter(routeCoords1[index]);

最佳答案

问题似乎出在这一行:map1.beforeRender(pan);如果不调用 beforeRender,问题就不会出现。注意 ol.Map#beforeRenderol.animation#pan 一样被弃用。

关于javascript - Openlayer3 - 避免折线在动画过程中消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41613495/

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