У kmlObject есть DOM, похожий на XML (или любой язык SGML), который вам потребуется рекурсивно перебирать по элементам в DOM, а затем изменять те, которые применимы к вам. К сожалению, в API нет прямых методов для этого, поэтому вам нужно будет либо готовить самостоятельно, либо использовать библиотеку, имеющую нужные вам функции.
Что-то вроде следующего может работать для вас.
function addKmlFromUrl(kmlUrl) {
google.earth.fetchKml(ge, kmlUrl, kmlFinishedLoading);
}
function kmlFinishedLoading(kmlObject)
{
if (kmlObject) {
ge.getFeatures().appendChild(kmlObject);
traverseKml(kmlObject);
}
}
function traverseKml(node) {
if(node.getFeatures().hasChildNodes()) {
var subNodes = node.getFeatures().getChildNodes();
var length = subNodes.getLength();
for(var i = 0; i < length; i++) {
var eachSubNode = subNodes.item(i);
var nodeType = eachSubNode.getType();
switch(nodeType) {
// kml containers
case 'KmlFolder' :
case 'KmlDocument' :
traverseKml(eachSubNode);
break;
// do something with all placemarks...
case 'KmlPlacemark' :
alert(eachSubNode.getName());
break;
}
}
}
}