仅在KML中可以使用KML地标和描述的动画(Google地球之旅)?

时间:2013-08-23 10:13:44

标签: kml google-earth

我正在Google地球之旅中处理动画地标及其说明/标签。到目前为止,我已经通过

完成了地标工具提示气球的动画制作
<gx:AnimatedUpdate>
    <gx:duration>0.0</gx:duration>
    <Update>
      <targetHref/>
      <Change>
        <Placemark targetId="placemarkpin1">
          <gx:balloonVisibility>1</gx:balloonVisibility>
        </Placemark>
      </Change>
    </Update>
  </gx:AnimatedUpdate>

但是尝试使用地标及其描述(也就是标签)(就像在本次旅行中最后显示地标一样有意义)似乎不起作用:

  <gx:AnimatedUpdate>
    <gx:duration>1.0</gx:duration>
    <Update>
      <targetHref></targetHref>
      <Change>
        <IconStyle targetId="pushpin-placemark_normalstate">
          <scale>1.0</scale>
        </IconStyle>
        <LabelStyle targetId="pushpin-placemark_normalstate">
          <scale>1.0</scale>
        </LabelStyle>
      </Change>
    </Update>
  </gx:AnimatedUpdate>

scale根据0.0开头的定义 这两个动画在巡演结束时一个接一个地放在两个独立的gx:AnimatedUpdate兄弟姐妹中。

我只能在KML文件中工作,不可能在这个项目中添加JS。

1 个答案:

答案 0 :(得分:1)

IconStyleLabelStyle标记使用唯一ID,并在targetHref中引用这些标记以进行更新。

注意:多个更改可以显示在单个<Change>元素中(与原始示例中一样),或者每个更改都可以作为<Update>元素的子元素包装在自己的Change元素中(如图所示)下文)。

 <Style id="pushpin">
      <IconStyle id="myiconstyle">
        ...
      </IconStyle>
      <LabelStyle id="mylabelstyle">
        ...
      </LabelStyle>
 </Style>

 <gx:AnimatedUpdate>
    <gx:duration>1.0</gx:duration>
    <Update>
      <targetHref></targetHref>
      <Change>
        <IconStyle targetId="myiconstyle">
          <scale>1.0</scale>
        </IconStyle>
      </Change>
      <Change>
        <LabelStyle targetId="mylabelstyle">
          <scale>1.0</scale>
        </LabelStyle>
      </Change>
    </Update>
  </gx:AnimatedUpdate>

你可以在这里找到一个完整的例子,其中有一个工作之旅: http://googlegeodevelopers.blogspot.com/2009/04/tours-in-kml-animating-camera-and.html