我一直在尝试将地图转换SVG
为HTML
区域地图三天。我正在尝试用这个SVG来做到这一点。
我试图SVG
用几种方法和程序来转换它,但都失败了。
例如: inkscape, inkscapeMap, Adobe Illustrator, Polygonator, SVGtoHTML
等等。
所以我编写了自己的PHP 脚本来完成这项工作。它工作正常,但它只转换多边形。但是有两条路径SVG
也需要转换为多边形。我试图在 Illustrator 和 Inkscape 中将这些路径转换为多边形,但显然没有办法强制这些程序将路径转换为多边形。(SVG
编辑可能会单独决定是否进行转换)。我在 SO 上找到了这个主题。但我无法完成这项JS
工作——我不知道参数示例是什么,等等——浏览器说函数 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:希望你能看懂我的英文:)