标记或叠加移动动画在 openlayers 3 中平滑移动
Marker or overlay moving animation moving smoothly in openlayers 3
我创建了一个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 操作。
我创建了一个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 操作。