5

我是 KML 的新手,这应该很简单,但我无法弄清楚。

在我的 KML 中,我定义了几种样式,并且可以使用 styleUrl-tag 轻松地将它们分配给特定的地标。我的样式仅在背景颜色上有所不同,但它们还包含一个相当复杂的“BalloonStyle”,对所有样式都相同。现在我不想将相同的气球样式复制到我拥有的每种样式中并增加我的 KML 的大小。

我需要像在 CSS 中那样为地标分配两种样式:

<styleUrl>#greenArea #myBalloonStyle</styleUrl>

<styleUrl>#redArea #myBalloonStyle</styleUrl>

或者在我的风格中写一些它从第二种风格“继承”其气球风格的东西。

先感谢您

4

1 回答 1

5

KML 要素只能包含一个带有单一样式引用的 styleUrl,但该要素也可以包含内联 Style 元素。这种技术称为“合并”样式。

在一个特性同时具有共享样式和内联样式的情况下,首先应用共享样式,然后内联样式覆盖前者中已经指定的任何内容。

如果将BallonStyle用作共享样式,则可以覆盖内联样式中的特定元素,例如颜色。

<Placemark>
    <styleUrl>#myBalloonStyle</styleUrl>
    <Style>
       <LabelStyle>
          <color>ff0000cc</color>
       </LabelStyle>
    </Style>
</Placemark>

这是一个具有全局 BalloonStyle的完整示例。点击“ Raw ”,将内容保存到本地文件,然后在 Google Earth 中打开。

于 2014-03-26T00:10:53.050 回答