Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否将SVG路径转换为KML位置标记?_Javascript_Svg_Kml - Fatal编程技术网

Javascript 是否将SVG路径转换为KML位置标记?

Javascript 是否将SVG路径转换为KML位置标记?,javascript,svg,kml,Javascript,Svg,Kml,我可以找到很多关于如何将KML多边形转换为SVG对象的文档,但是没有相反的方法。这样的脚本存在吗,或者有人知道如何编写吗 基本上我想拿一些,例如,为每个国家/省制作单独的形状(可能包括其他地理覆盖),并将它们转换成KML。我猜,一个带有SVG地图坐标系和原点的lat/lon的脚本可以进行这种转换,但这看起来是一项非常重要的任务,所以我希望已经完成了一些工作 我在找到了这些工具,但这只能转换由同一站点上的KML->SVG转换器生成的SVG文件 我还认为我可能会撤销发布在上的JSFIDLE示例,但我

我可以找到很多关于如何将KML多边形转换为SVG对象的文档,但是没有相反的方法。这样的脚本存在吗,或者有人知道如何编写吗

基本上我想拿一些,例如,为每个国家/省制作单独的形状(可能包括其他地理覆盖),并将它们转换成KML。我猜,一个带有SVG地图坐标系和原点的lat/lon的脚本可以进行这种转换,但这看起来是一项非常重要的任务,所以我希望已经完成了一些工作

我在找到了这些工具,但这只能转换由同一站点上的KML->SVG转换器生成的SVG文件

我还认为我可能会撤销发布在上的JSFIDLE示例,但我无法在本地web项目中使用该示例(我对SVG/KML开发和Javascript都非常陌生,并且不熟悉Proj.4库的工作方式)


或者,如果有人能想出更好的方法来解决快速创建“政治地图”式KML图层这一原始问题,我愿意接受建议。

我只是在你的帖子中找到了相同的方法, 这是我谷歌列表中的另一个热门话题

对于初始步骤,您可能希望查看此页面:


祝你好运

我找到了一种在JavaScript中将SVG路径转换为SVG多边形的简单方法。SVG多边形可以很容易地转换为KML placemarks,因为两者都使用坐标列表。此脚本可以放置在HTML文件中,并将直接在浏览器上运行。它将从您的计算机中获取一个SVG文件,并将修改后的文件保存为文本文件。我建议使用Chrome,因为SVG在其上保持固定大小,这确保坐标系保持完全相同


读取器
到多边形的SVG路径

document.getElementById(“文件阅读器”).addEventListener('change',function(){ var fr=new FileReader(); fr.onload=函数(){; var d=new DOMParser().parseFromString(this.result.toString(),“image/svg+xml”); var nodelist=d.querySelectorAll('path'); log(“路径数:“+nodelist.length”); forEach(function(path){//这将使用多边形替换每个路径,保持相同的id。 var polygon=d.createElements(“http://www.w3.org/2000/svg“,”多边形“); polygon.setAttribute(“id”,path.getAttribute(“id”); log(“转换”+path.getAttribute(“id”); var length=path.getTotalLength(); var p=path.getPointAtLength(0); var stp=p.x+“,”+p.y;
对于(var i=1;i第一句话:你的意思是你找到了很多关于如何将KML多边形转换为SVG的文档?还是问题标题向后?哎呀-第一句话中有一个拼写错误:问题标题是正确的。我现在已经纠正了拼写错误,谢谢你发现它。