2013-09-27 35 views
0

我期待建立由通過插件使用JavaScript之上疊加谷歌地球多邊形的地區分佈圖。動態變化的彩色文件

多邊形的KML文件存在,所有與唯一ID,服務器(不一定是我的)上。 我希望能夠動態更改多邊形的顏色以顯示不同的數據集。

這是可行的嗎?

我擡頭的KML機制,但只能用相同的服務器上的文件工作。

感謝,

比爾

回答

2

您可以加載/通過Google Earth API從任何網絡訪問的URL解析遠程KML(同一臺服務器或其他方式),然後遍歷KML對象和編程方式更改樣式和多邊形顏色。

var href = 'http://code.google.com/' 
      + 'apis/earth/documentation/samples/kml_example.kml'; 

google.earth.fetchKml(ge, href, function(kmlObject) { 
     if (kmlObject) { 
     checkObject(kmlObject); 
     // append KML objects to current view 
     ge.getFeatures().appendChild(kmlObject); 
     }  
}); 

function checkObject(kmlObject) { 
    var type = kmlObject.getType();   
    if (type == 'KmlDocument' || type == 'KmlFolder') { 
     var features = kmlObject.getFeatures(); 
     if (features.hasChildNodes()) { 
      var children = features.getChildNodes();      
      for (i=0; i < children.getLength(); i++) { 
       checkObject(children.item(i));      
      } 
     } 
    } else if (type == 'KmlPlacemark') { 
     // check/set style, change color, etc. 
     // ... 
    } 
} 

參考: https://developers.google.com/earth/documentation/kml#fetchkml_and_parsekml

+0

工程。謝謝! – Bill