KML + Google地球:可以点击多边形或GroundOverlay?

时间:2010-02-23 19:16:09

标签: kml google-earth

非常简单的问题。

我在KML中定义了一些Polygons和GroundOverlays。有没有办法指定它们应该是可点击的,并且(在Google地球中,至少)点击它们时会弹出信息气球或类似信息?

同样,是否可以为polygons / GroundOverlays提供任何类型的鼠标悬停行为?例如鼠标悬停时更改图标或颜色?

1 个答案:

答案 0 :(得分:10)

是。为地标添加名称和说明会使其成为Google地球中的可点击对象,并会打开一个显示两者的信息窗口。您可以使用样式图创建翻转/鼠标悬停行为,以下是两个示例:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Highlighted Icon</name>
<description>Place your mouse over the icon to see it display the new
      icon</description>
<StyleMap id="exampleStyleMap">
  <Pair>
    <key>normal</key>
    <!-- you could also use a <styleUrl> here instead of inlining -->
    <Style>
      <PolyStyle>
        <color>7dff0000</color>
      </PolyStyle>
    </Style>
  </Pair>
  <Pair>
    <key>highlight</key>
    <!-- you could also use a <styleUrl> here instead of inlining -->
    <Style>
      <PolyStyle>
        <color>7dffffff</color>
      </PolyStyle>
    </Style>
  </Pair>
</StyleMap>

<!-- and now, a Placemark that uses the StyleMap -->
<Placemark>
  <name>Roll over this polygon</name>
  <description>this will show up when clicked</description>
  <visibility>1</visibility>
  <styleUrl>#exampleStyleMap</styleUrl>
  <Polygon>
    <tessellate>1</tessellate>
    <altitudeMode>absolute</altitudeMode>
    <outerBoundaryIs>
      <LinearRing>
        <coordinates>
          -112.3372510731295,36.14888505105317,1784
          -112.3356128688403,36.14781540589019,1784
          -112.3368169371048,36.14658677734382,1784
          -112.3384408457543,36.14762778914076,1784
          -112.3372510731295,36.14888505105317,1784
        </coordinates>
      </LinearRing>
    </outerBoundaryIs>
  </Polygon>
</Placemark>
</Document>
</kml>