我有一个代码,在下面的另一篇文章中为我回答。但是我遇到了一个我无法轻易解决的新问题。我添加了额外的LoadKML函数,例如函数LoadKML1(),函数LoadKML2()。问题是现在我需要单击killKML按钮以清除LoadKML1,然后才能单击LoadKML2。我想点击LoadKML1来加载KML,如果再点击LoadKML1来运行killKML代码。基本上是一个开关按钮。
感谢任何帮助。
var kmlLoaded = false;
function LoadKML() {
alert('Kill KML');
if (kmlLoaded) {
return
killKML();
}else{
alert('Creating KML');
var nwlink = "http://kml-samples.googlecode.com/svn/trunk/kml/NetworkLink/placemark.kml"
createNetworkLink(nwlink);
kmlLoaded=true;
}
}
function killKML(source) {
ge.getGlobe().getFeatures().removeChild(networkLink);
答案 0 :(得分:0)
您可以更改代码并在kmlLoaded检查中调用killKML(),如下所示:
function LoadKML() {
if (kmlLoaded) {
//return
killKML();
}else{
var newlink = "http://www.something.com/test.kml";
createNetworkLink(newlink);
kmlLoaded=true;
}
}