При добавлении самолета на карту появляются изображение самолета и номер самолета . номер самолета смещен над изображением самолета . Положение изображения самолета и номера самолета обновляется и изменяется в реальном времени.время.Существует требование, что номер самолета может быть перемещен, и после того, как номер самолета будет перемещен в новую позицию, он продолжит движение с изображением самолета .Я использовал метод ol. Interaction.Translate
для определения сопротивления номера самолета , но было невозможно реализовать движение в реальном времени номера самолета по изображению самолета
let newLocation = ol.proj.fromLonLat([obj.longitude, obj.latitude]);
let aircraft = vectorSource.getFeatureById(obj.aircraftNum);
aircraft.setGeometry(new ol.geom.Point(newLocation));//Update aircraft image location
let newPoint;
translate = new ol.interaction.Translate({
features:new ol.Collection([featureSimpleSign])
});
map.addInteraction(translate);
translate.on('translatestart', function (evt) {
coordSign = aircraft.getGeometry().getCoordinates();
});
translate.on('translating', function (evt) {
indexWire.setCoordinates([coordSign, evt.coordinate]);
});
translate.on('translateend',function(evt){
let dd2 = map.getPixelFromCoordinate(evt.coordinate);
let newX = dd2[0]-0;//Minus the offset of the plane number
let newY = dd2[1]-(-30);
newPoint = map.getCoordinateFromPixel([newX,newY]);
indexWire.setCoordinates([coordSign,evt.coordinate]);
})
startPoint = aircraft.getGeometry().getCoordinates();
indexWire.setCoordinates([startPoint,newPoint]);