проблема в следующем, есть формат файла svg:
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px">
<symbol id="gear" viewBox="0 0 300 300" enable-background="new 0 0 300 300" xml:space="preserve">
<path fill="#inherit" stroke="#000000" d="..."/>
</symbol>
<symbol id="drill" viewBox="0 0 300 300" xml:space="preserve">
<path style="stroke:none; fill:#000000" d="..."/>
</symbol>
<svg>
выполните следующие действия, чтобы сделать этот файл значком и отобразить его на карте. Саму иконку собираем: SVG.create('img/iconsSvg.svg#gear','img/iconsSvg.svg#drill')
ее можно вывести в html
var SVG={
svgns:'http://www.w3.org/2000/svg',
xlink:'http://www.w3.org/1999/xlink',
create:function(){
let pathUse=arguments;
var svg=document.createElementNS(SVG.svgns, 'svg');
for (let i = 0; i < pathUse.length; i++) {
let use=document.createElementNS(SVG.svgns, 'use');
use.setAttributeNS(SVG.xlink, 'xlink:href', pathUse[i]);
svg.appendChild(use);
}
return svg;
}
}
в openlayers установите стиль этого:
function setStyleIcon(){
return new ol.style.Style({
image: new ol.style.Icon({
img:SVG.create('img/iconsSvg.svg#gear'),
imgSize:[30,30]
})
});
}
когда вылетает ошибка: аргумент 1 CanvasRenderingContext2D.drawImage не может быть преобразован ни в один из: HTMLImageElement, HTMLCanvasElement, HTMLVideoElement, ImageBitmap.
как перевести svg на холст я не знаю
но не могу поставить на карту, заранее спасибо за помощь