什么是GE方法FlyToObject的API对象?

时间:2012-09-19 22:03:21

标签: kml google-earth-plugin

在GE插件API GEHelper.cs中有一个函数FlyToObject。由于我无法让kml将我带到地标,我以为我会使用API​​调用。

FlyToObject所需的参数是: “动态ge” “动态功能”,

我坚持'功能'论点是什么。描述说“api对象”。我不确定指的是哪个api对象或如何创建它。

我正在尝试自动(在加载文件时)“飞到”我的kml文件中的地标。

如果有人知道如何用KML做什么就会很棒。这是我正在加载的KML文件不起作用。这是Google的示例文件之一。

<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>

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您要将Google地球加载到自己的网页中,则可以通过javascript访问GE API。因此,如果要设置某个视图,请使用以下代码

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