0

GE プラグイン用の KMZ ファイルがあります。このファイルには、多数の PNG といくつかの kml (ポリゴン、ライン、目印など) が含まれています。

このツアーを実行する関数は次のとおりです。

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();
            }
        });
    });

}

うまくいきますが、ツアーを実行するのは 2 回目だけです。初めて実行すると、ツアーのみが実行され、ポリゴン、目印、および png は表示されませんが、ツアーを 2 回目にクリックすると、正常に動作します。

最初に kmz 情報を強制的にロードするにはどうすればよいですか?

助けてくれてありがとう。よろしく、春翔。

更新: kmz ポリゴンと目印が最初に読み込まれることがあります...しかし、たまにしか機能しません...kmz が追加される前にツアーが開始されたのではないかと思います。問題は、どうすれば強制的に待機できるかです。 appendChild を追加してから、ツアーを実行します...ありがとう!

4

1 に答える 1

0

try to wait until the kml is loaded before playing the tour. I use this code:

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

于 2012-11-06T09:21:16.117 に答える