我是KML的新手,这应该很简单,但我无法弄清楚。
在我的KML中,我定义了几种样式,并且可以使用styleUrl-tag轻松地将它们分配到特定的地标。我的风格仅在背景颜色方面有所不同,但它们也包含一个相当复杂的“气球风格”#34;这对所有人来说都是一样的。 现在我不想将这种相同的气球复制到我拥有的每种风格中,并增加我的KML的大小。
我需要的是为地标分配两种样式,就像我在CSS中所做的那样:
<styleUrl>#greenArea #myBalloonStyle</styleUrl>
<styleUrl>#redArea #myBalloonStyle</styleUrl>
或者在我的风格中写下它继承的东西&#34;它的气球风格来自第二种风格。
提前谢谢
答案 0 :(得分:4)
KML功能只能包含带有单个样式引用的单个styleUrl,但该功能还可以包含内联样式元素。这种技术被称为&#34;合并&#34;风格。
如果要素同时具有共享样式和内联样式,则首先应用共享样式,然后内联样式将覆盖前者已指定的内容。
如果您使用BallonStyle作为共享样式,则可以覆盖内联样式中的特定元素,如颜色。
<Placemark>
<styleUrl>#myBalloonStyle</styleUrl>
<Style>
<LabelStyle>
<color>ff0000cc</color>
</LabelStyle>
</Style>
</Placemark>
这是一个带有全局BalloonStyle的complete example。点击&#34; 原始&#34;,将内容保存到本地文件,然后在Google地球中打开。