Я использую систему координат север, юг, запад, восток, и я хочу нарисовать на карте изображение в нужном месте и с определенным размером.Сначала я попытался нарисовать только одну точку, и она появилась в правильном положении (поэтому, кажется, что координаты работают), но если я пытаюсь нарисовать изображение, оно не появляется на карте. Я знаю, что не могу датьдо значка высота и ширина, поэтому я сначала создал холст для использования после.Это мой код:
if ( this.nord && this.sud && this.est && this.ovest && this.opacityPercentage) {
var extent = ol.proj.transformExtent([this.nord, this.ovest, this.sud, this.est], 'EPSG:4326', 'EPSG:3857');
var height = ol.extent.getHeight(extent);
var width = ol.extent.getWidth(extent);
var center = ol.extent.getCenter(extent);
var sourceImage = new Image();
var canvas = document.createElement('canvas');
sourceImage.src = 'https://www.mikenunn.net/data/oak-tree-icon-png-17.png';
canvas.width = width;
canvas.height = height;
canvas.getContext("2d").drawImage(sourceImage, 0, 0, width, height);
var resizedImageURL = canvas.toDataURL();
var treePoint = new ol.geom.Point(center);
var featureTree = new ol.Feature(treePoint);
featureTree.setStyle(new ol.style.Style({
image: new ol.style.Icon({
src: resizedImageURL,
opacity: this.opacityPercentage,
})
}));
this.features.push(featureTree);
this.mapView.fit(treePoint, {minResolution: 0.05});
} else {
this.controller.fireEvent('mapstaterequest');
}
В случае, если есть другой способ, которым я мог бы использовать для достижения своей цели?