Я пытался конвертировать карту в SVG
в HTML
карту области в течение трех дней. Я пытаюсь сделать это с этим SVG .
Я пытался преобразовать это SVG
несколькими методами и программами, но все они потерпели неудачу.
например: inkscape, inkscapeMap, Adobe Illustrator, Polygonator, SVGtoHTML
и более.
Итак, я написал свой собственный PHP скрипт для выполнения этой работы. Работает нормально, но конвертирует только полигоны. Но в SVG
есть два пути, которые также необходимо преобразовать в полигон. Я пытался преобразовать эти пути в полигоны в Illustrator и Inkscape, но, по-видимому, нет способа заставить эти программы преобразовать путь в полигоны. (SVG
редакторы, вероятно, решают в одиночку, делают ли они преобразование или нет). Я нахожу эту тему на SO. Но я не смог получить работу JS
- я не знаю, что такое параметр sample , и более того - браузер сказал, что функция createElementNS неизвестна.
Наилучший результат, которого я смог достичь, это этот HTML , но все еще отсутствуют две области (потому что они находятся в SVG в путях)
Я был бы рад любой подсказке.
ВОПРОСЫ
1) Как преобразовать пути SVG в полигоны? Это возможно?
2) Есть ли программное обеспечение, которое конвертирует SVG в карты областей HTML?
3) Не могли бы вы показать мои примерные параметры в этой функции JS (функция написана Phrogz ):
function polygonSampledFromPath(path,samples){
var doc = path.ownerDocument;
var poly = doc.createElementNS('http://www.w3.org/2000/svg','polygon');
var points = [];
var len = path.getTotalLength();
var step = step=len/samples;
for (var i=0;i<=len;i+=step){
var p = path.getPointAtLength(i);
points.push( p.x+','+p.y );
}
poly.setAttribute('points',points.join(' '));
return poly;
}
3ad) Почему функция createElementNS
неизвестна?
PS: надеюсь, вы понимаете мой английский:)