2012-11-19 2 views
0

J'ai donc passé en revue la documentation de GE et j'ai trouvé comment faire pour LineStyle et LineString pour styler et afficher une ligne, mais en pratique je ne peux pas vraiment la faire fonctionner. Voici mon KML:Obtenir des lignes pour travailler sur Google Earth

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://www.opengis.net/kml/2.2"><Document><Style id="thisStyle"> 
<LineStyle> 
<color>500078F0</color> 
<colorMode>Normal</colorMode> 
<width>5</width> 
</LineStyle> 
</Style> 
<Placemark> 
<name>502-2012-11-19 05:27:03</name> 
<description>Speed:0</description> 
<Point> 
<coordinates>-76.0513,42.0894,247</coordinates> 
</Point> 
</Placemark> 
<Placemark> 
<name>502-2012-11-19 05:26:46</name> 
<description>Speed:0</description> 
<Point> 
<coordinates>-76.0517,42.0886,287</coordinates> 
</Point> 
</Placemark> 
.... 
<Placemark> 
<name>525-2012-11-19 04:38:25</name> 
<description>Speed:0</description> 
<Point> 
<coordinates>-76.0512,42.0894,178</coordinates> 
</Point> 
</Placemark> 
<styleUrl>#thisStyle</styleUrl> 
<LineString> 
<tessellate>1</tessellate> 
<altitudeMode>clampToGround</altitudeMode> 
<coordinates> 
-76.0513,42.0894,247 
-76.0517,42.0886,287 
.... 
-76.0512,42.0894,178 
</coordinates></LineString></Document></kml> 

Note: Les endroits ci-dessus où « ... » apparaît il y a environ 50 plus de coordonnées ensembles, je les ai enlevés pour des raisons de concision, mais étant donné que toutes les coordonnées sont produites par un script si on travaille je sais qu'ils le feront tous. Quelqu'un peut-il me pousser dans la bonne direction pour savoir pourquoi mes repères apparaissent tous, mais pas de lignes?

Répondre

1

Un élément LineString est uniquement valable dans un Placemark (ou un MultiGeometry dans un Placemark):

<Placemark> 
    <LineString> 
    <tessellate>1</tessellate> 
    <altitudeMode>clampToGround</altitudeMode> 
    <coordinates> 
     -76.0513,42.0894,247 
     -76.0517,42.0886,287 
     -76.0512,42.0894,178 
    </coordinates> 
    </LineString> 
</Placemark> 
+0

Merci beaucoup, cela explique le problème. Après avoir placé la balise Placemark autour de mon LineString, cela fonctionne parfaitement, merci beaucoup. –

1

Vous devez soit en ligne de style dans le Placemark ou référencez le style dans le repère à l'aide de l'élément styleUrl.

Le dernier Placemark dans votre exemple doit être réécrite comme ceci:

<Placemark> 
    <name>525-2012-11-19 04:38:25</name> 
    <description>Speed:0</description> 
    <styleUrl>#thisStyle</styleUrl> 
    <LineString> 
     <tessellate>1</tessellate> 
     <altitudeMode>clampToGround</altitudeMode> 
     <coordinates> 
      -76.0513,42.0894,247 
      -76.0517,42.0886,287 
      ... 
      -76.0512,42.0894,178 
     </coordinates> 
    </LineString> 
</Placemark> 

Si votre KML ne voit pas correctement, il aide généralement pour valider le KML. Vous pouvez utiliser le KML Validator.

+0

Merci beaucoup pour votre réponse et l'astuce avec le validateur KML. Les deux réponses étaient correctes, mais j'essaie toujours de marquer le premier correct pour être juste. Merci beaucoup pour votre aide et votre code, je l'apprécie vraiment. –