gpt4 book ai didi

javascript - 标记或叠加移动动画在 openlayers 3 中平滑移动

转载 作者:行者123 更新时间:2023-11-30 08:36:40 25 4
gpt4 key购买 nike

我创建了一个 plunkr它有一个像汽车一样的移动标记。

var olview = new ol.View({
center: [-5484111.13, -1884437.22],
zoom: 18,
minZoom: 2,
maxZoom: 20
});

var osm = new ol.source.OSM();

var lineString = new ol.geom.LineString([]);

var map = new ol.Map({
target: 'map',
view: olview,
renderer: 'canvas',
layers: [
new ol.layer.Tile({
source: osm,
opacity: 0.6
})
]
});

var car = document.getElementById('geo1');

var marker = new ol.Overlay({
positioning: 'center-center',
offset: [0, 0],
element: car,
stopEvent: false
});

map.addOverlay(marker);


var path = [
[-5484101.57, -1884475.44],
[-5484114.71, -1884432.74],
[-5484117.70, -1884416.62],
[-5484106.95, -1884392.28]
];

lineString.setCoordinates(path);

map.once('postcompose', function(event) {
console.info('postcompose');
interval = setInterval(animation, 500);
});

var i = 0, interval;
var animation = function(){

if (i == path.length){
i = 0;
}

marker.setPosition(path[i]);
i++;
};

这是用openlayers写的,我希望它在移动时看起来像这样平滑。

https://github.com/terikon/marker-animate-unobtrusive

我是 openlayers 的初学者,有人可以帮助我吗?谢谢!

最佳答案

我做了三个测试。第一个和第二个是纯 ol3,最后一个是 tween.js .

我正在使用 Arc.js创建路径。

first example正在使用 setInterval

second example正在使用 window.requestAnimationFrame

the last使用 Tween.js

您的示例运行不流畅,因为它只是几个坐标。

请注意,Tween.js 集成根本不是集成。这只是一个棘手的 CSS 操作。

关于javascript - 标记或叠加移动动画在 openlayers 3 中平滑移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30776592/

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