【问题标题】:appendChild kmz works only in second time when I run a tour (tour is into the same kmz)appendChild kmz 仅在我进行巡演时第二次起作用(巡演进入同一个 kmz)
【发布时间】:2012-11-06 01:57:38
【问题描述】:

我有一个 GE 插件的 KMZ 文件。这个文件有很多 PNG 和几个 kml(poligons、lines、placemarks 等)。

运行这个游览的函数是:

function loadKmztour(href){
google.earth.fetchKml(ge, kmlURL, function(kmlObject) {
     if (kmlObject){
        ge.getFeatures().appendChild(kmlObject);
        walkKmlDom(kmlObject, function(context) {
            if (this.getType() == 'KmlTour') {
                ge.getTourPlayer().setTour(this);
                ge.getTourPlayer().play();
            }
        });
    });

}

它运行良好,但仅在我第二次进行巡回演出时。当我第一次运行它时,它只运行游览,但不显示 poligons、地标和 png,但如果我第二次单击游览,它工作正常。

如何强制第一次加载 kmz 信息?

感谢您的帮助。 最好的祝福, 顺商。

更新: 有时,kmz poligons 和 placemarks 会在第一次加载...但它只在某些时候起作用...我认为可能是在附加 kmz 之前游览开始运行,所以问题是我如何强制等待 appendChild 然后运行游览......谢谢!

【问题讨论】:

    标签: kml google-earth google-earth-plugin appendchild kmz


    【解决方案1】:

    尝试等到 kml 加载完毕后再玩游览。我使用此代码:

    var interval = setInterval(function wait() { var streamingPercent = ge.getStreamingPercent(); if(streamingPercent > 98) { ge.getTourPlayer().setTour(tour); ge.getTourPlayer().play(); clearInterval(interval); } }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-17
      相关资源
      最近更新 更多