如何从 KML 文件中获取坐标?
How to get coordinates from a KML file?
有什么方法可以解析 kml 文件并使用 JavaScript 从中获取坐标?
我试过使用 "getElementsByTagName"(比如 here),但调试器说它不是一个有效的函数。
有什么想法吗?
这并不容易,但您可以导入文件 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 对象作为地标,并通过 jquery
迭代它们以获得您需要的 tag/value
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
});
}
});
这些是示例部分(功能代码的摘录....不是您需要的全部)此代码仅供参考....
有什么方法可以解析 kml 文件并使用 JavaScript 从中获取坐标?
我试过使用 "getElementsByTagName"(比如 here),但调试器说它不是一个有效的函数。
有什么想法吗?
这并不容易,但您可以导入文件 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 对象作为地标,并通过 jquery
迭代它们以获得您需要的 tag/valuevar 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
});
}
});
这些是示例部分(功能代码的摘录....不是您需要的全部)此代码仅供参考....