2012-04-04 130 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

相关问题