2

グーグルアースプラグインを使用して、大きなkmlファイルを自分のウェブサイトに表示する必要があります。モデルは常に正しくダウンロードされているようですが、表示されていません。モデルが表示されていることを確認するには、プラグインを5〜6回右クリックする必要がある場合があります。その後、ページをリロードすると正しく表示されます。

私は次のコードを使用しています:

<script type="text/javascript" >
google.load("earth", "1");
var ge;
function init() {
    google.earth.createInstance('map3D', initCB, failureCB);
}

function initCB(instance) {
    ge = instance;
    ge.getWindow().setVisibility(true);
    ge.getNavigationControl().setVisibility(ge.VISIBILITY_SHOW);

    google.earth.fetchKml(ge, "<?php echo $kmz ?>", function(kmlObject) {
        if (kmlObject)
            {
                var la = ge.createLookAt('');
                la.set(<?php echo $lat ?>, <?php echo $long ?>, <?php echo $alt+500 ?>, ge.ALTITUDE_RELATIVE_TO_GROUND, 0, 45, 10);
                ge.getView().setAbstractView(la);

                ge.getFeatures().appendChild(kmlObject);


            }
    });


 }
     function failureCB(errorCode) {
        alert("failure");
}

google.setOnLoadCallback(init);  
</script>

createNetworkLinkも使用しようとしましたが、問題は解決していません。それを機能させるには何を変更する必要がありますか?

ありがとう!

4

1 に答える 1

1

問題を引き起こしているのは、単にプラグインへのロードに時間がかかるモデルです。いくつかのOSのいくつかのブラウザでテストしましたが、動作はすべての場合で同じです。

後続のページのリロードで機能する理由は、プラグインがデータをキャッシュしているため、実際にデータを2回フェッチすることはないためです。

ズームアウト、ズームインは、モデルをより速くロードするために何もしていません-それは単にロードされるまで時間を経過しているだけです。

私が行ったすべてのテストで、モデルは常に読み込まれますが、表示されるまでに2〜10秒かかる場合があります...

KMZアーカイブ内の.daeと画像ファイルを最適化してファイルサイズを小さくする以外に、これについてできることはあまりありません。これにより、モデルのロードと表示が現在よりも速くなります。

于 2013-01-05T23:12:21.933 に答える