如何从KML文件中获取坐标?

时间:2015-10-24 09:47:50

标签: google-maps google-maps-api-3 kml

有没有办法解析kml文件并用JavaScript获取坐标?

我已尝试使用" getElementsByTagName" (比如here)但是调试器说它不是一个有效的函数。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这不容易,但您可以导入文件xml并使用jquery parseXML进行解析

    // import the file --- se related function below
    var content = getSelectedFileContent(importFilename);

    // build an xmlObj for parsing
    xmlDocObj = $($.parseXML(content));


function getSelectedFileContent(filename) { 
    // var importFilename = importAreaBaseURL + filename;
    var request = new XMLHttpRequest();
        request.open("GET", filename, false);
        request.send(null);
        return request.responseText;
};

此时您可以轻松解析xml obj的地标,并通过jquery迭代它们以获取所需的标记/值

var placemarks = xmlDocObj.find("Placemark");
        placemarks.each(function (index) {

                if ($(this).find("Polygon").length > 0) {
                    tipoGeom = "Polygon";
                    tmpHtml = $(this).find("Polygon").find("outerBoundaryIs").find("coordinates").html();
                    gmlll_geom =  kmlCoords2gmlll( tmpHtml);

                    inner = $(this).find("Polygon").find("innerBoundaryIs");
                    inner.each(function(index,el) {
                       $(el).find("coordinates").html(); // this are the coordinates for polygion 
                    });


                }
            });

这些是示例部分(功能代码的摘录......并非您需要的所有内容)此代码仅用于建议....