2010-02-23 6 views
5

Ziemlich einfache Frage.KML + Google Earth: Ein Polygon oder GroundOverlay anklickbar machen?

Ich habe einige Polygone und GroundOverlays in KML definiert. Gibt es eine Möglichkeit, anzugeben, dass sie anklickbar sein sollen und (zumindest in Google Earth) eine Info-Sprechblase oder Ähnliches anzeigen, wenn auf sie geklickt wird?

Ist es auch möglich, Polygonen/GroundOverlays irgendeine Art von Mouseover-Verhalten zu geben? z.B. Ändern Sie das Symbol oder die Farbe beim Mausklick?

Antwort

10

Ja. Wenn Sie der Ortsmarke einen Namen und eine Beschreibung geben, wird dies zu einem anklickbaren Objekt in Google Earth und mit einem Infofenster geöffnet, in dem beide angezeigt werden. Sie können Rollover/Mouseover-Verhalten mithilfe von Stylemaps erstellen, hier ein Beispiel, das beides tut:

<?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> 
+0

Vielen Dank !! Sehr geschätzt. – DanM

+0

Eine Frage: Können Sie den zweiteiligen Stil für jede Ortsmarkierung einzeln erstellen? Haben Sie beispielsweise eine Bibliothek mit 100 JPEG-Bildern und 100 einfarbige Polygone, die auf der Karte angeordnet sind, wobei jedes Mal, wenn Sie mit der Maus über eines davon gehen, eines der 100 Bilder an seiner Stelle erscheint? – DanM