2

我了解 Geoxml3 具有将 kml扩展数据加载到变量中的内置功能(从其源代码 - 见下文),但我无法在解析后找到访问这些变量的方法。有谁知道该怎么做?谢谢,干杯。

(kmz 分支的 geoxml3.js 的第 544 行):

// add extended data to variables
var extDataNodes = node.getElementsByTagName('ExtendedData');
if (!!extDataNodes && extDataNodes.length > 0) {
var dataNodes = extDataNodes[0].getElementsByTagName('Data');
for (var d = 0; d < dataNodes.length; d++) {
var dn    = dataNodes[d];
var name  = dn.getAttribute('name');
if (!name) continue;
var dName = geoXML3.nodeValue(dn.getElementsByTagName('displayName')[0], name);
var val   = geoXML3.nodeValue(dn.getElementsByTagName('value')[0]);

placemark.vars.val[name]     = val;
placemark.vars.display[name] = dName;
}
}
4

1 回答 1

2

在geoxml3的kmz分支版本中,扩展数据存放在placemark.vars.val

name: "Alvarães"
percentil: "29.8"
total: "1699"

所以,这应该工作:

    var contentString = '<div class="maptab">'+
        '<h1>'+placemark.name+'</h1>'+
        'fora da escola: '+placemark.vars.val.total+'<br>'
        'percentual: '+placemark.vars.val.percentil+
        '</div>';
    polygonMouseover(placemark.polygon,contentString);
于 2014-02-04T06:50:19.743 回答