1

GE プラグイン API GEHelper.cs には、関数 FlyToObject があります。kml を取得して目印に飛ばすことができなかったので、API 呼び出しを使用することにしました。

FlyToObject に必要な引数は、「dynamic ge」、「dynamic feature」、

「機能」の引数が何であるかにこだわっています。説明には「APIオブジェクト」と書かれています。どの API オブジェクトを参照しているか、またはその作成方法がわかりません。

私がやろうとしているのは、(ファイルの読み込み時に) 自動的に kml ファイルの目印に「飛ぶ」ことです。

KML で私が求めていることを行う方法を誰かが知っていれば、それは素晴らしいことです。これは、私がロードしている KML ファイルです。これは機能しません。これは、Google のサンプル ファイルの 1 つです。

<kml xmlns="http://www.opengis.net/kml/2.2">
    <Placemark>
      <name>300m straight down</name>
      <Camera>
        <longitude>-122.4783</longitude>
        <latitude>37.812</latitude>
        <altitude>300</altitude>
        <heading>0</heading>
        <tilt>0</tilt>
        <roll>0</roll>
        <altitudeMode>absolute</altitudeMode>
      </Camera>
    </Placemark>
</kml>

ありがとう!

4

1 に答える 1

0

Google Earthを自分のウェブページに読み込んでいる場合は、JavaScriptを介してGEAPIにアクセスできます。したがって、特定のビューを設定する場合は、次のコードを使用します

      // Create a new LookAt.
      var lookAt = ge.createLookAt('');

      // Set the position values.
      lookAt.setLatitude(36.584207);
      lookAt.setLongitude(-121.754322);
      lookAt.setRange(5000.0); //default is 0.0

      // Update the view in Google Earth.
      ge.getView().setAbstractView(lookAt);

より高度な方法:独自の目印を使用してカスタムkmlファイルを読み込む場合。kmlファイルでIDとしてそれらを割り当てます

      <Placemark id="uniqueId">

次に、ロードしたら、このコードを使用します

       placemark = ge.getElementById(uniqueId);
       if (placemark == null) {
            return false;
       } else if (placemark.getAbstractView()) {
            ge.getView().setAbstractView(lastViewLoaded);
      }
于 2012-09-21T01:29:36.360 に答える