2012-04-04 128 views
0

我加入了通過網絡鏈接KMZ文件上添加刪除KML問題ADD KMZ按鈕的onclick如下: -'在NPObject上調用方法時出錯!'通過網絡鏈接

var nlFile=null; 
function addKMZData(){ 
    nlFile=ge.createNetworkLink('exampleKMLNL1'); 
    nlFile.setVisibility(true); 
    var link = ge.createLink(" exampleLink1 "); 
    link.setHref('http://localhost:8080/KMZs/example.kmz'); 
    nlFile.setLink(link); 
    nlFile.setFlyToView(true); 
    nlFile.setName('kmz'); 
    ge.getGlobe().getFeatures().appendChild(nlFile); 
} 

這裏所採用的「example.kmz」文件包含線串地標和安裝的插件版本是6.1.0.5001。

然後,我有一個REMOVE按鈕,點擊它從ge插件的實例中刪除上面添加的KMZ的網絡鏈接。以下是REMOVE按鈕的onclick功能:

function clearKMZData(){ 
    ge.getFeatures().removeChild(ge.getElementById('exampleKMLNL1')); 
    nlFile=null; 
} 

這些函數的第一次工作。但是,除去添加的KMZ網絡鏈接後,如果嘗試使用addKMZData()函數添加相同的KMZ文件,則會出現錯誤「NPObject上的錯誤調用方法!」。在add函數的第1行。這種添加&通過網絡鏈接去除KMZ/KML數據的方式是否正確?我在上述2個JavaScript函數中錯過了什麼嗎?

問候, 溼婆

回答

0

只要VAR nlFile是全球

在你的第一個功能,改變這種

 nlFile=ge.createNetworkLink('exampleKMLNL1'); 

這個

 nlFile=ge.createNetworkLink(''); 

和改變這種

 function clearKMZData(){ 
      ge.getFeatures().removeChild(ge.getElementById('exampleKMLNL1')); 
      nlFile=null; 
     } 

這個

 function clearKMZData(){ 
      ge.getFeatures().removeChild(nlFile); 
     } 
+0

謝謝 'lifeIsGood' 的答覆。這工作。我也改變了var link = ge.createLink(「exampleLink1」); var link = ge.createLink(''); – Shiva 2012-04-04 05:55:52

相關問題