2011-11-28 5 views
5

Hola tengo una multigeometría ¿Cómo tiene un estilo como un rollover cuando pasas el mouse sobre las líneas, mi pregunta es que las diferentes líneas en la multigeometría tienen diferentes colores posibles ?.Aplicar estilos específicos a las líneas en un MultiGeometry en KML

En el siguiente ejemplo, tengo la marca de lugar Durham Tees Valley cuando selecciona tener un estilo, pero me gustaría tener las dos líneas con diferentes colores.

Gracias

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://earth.google.com/kml/2.2"> 
<Document> 
<name>UK &amp; Ireland, Flight Maps</name> 
<open>1</open> 
     <LookAt> 
      <longitude>-3.478829007934099</longitude> 
      <latitude>52.50255557278696</latitude> 
      <altitude>0</altitude> 
      <range>730703.2034581316</range> 
      <tilt>53.03089122623036</tilt> 
      <heading>30.72599120906411</heading> 
     </LookAt> 


    <Style id="test"> 
    <LineStyle> 
     <color>ff235523</color> 
     <width>0.5</width> 
    </LineStyle> 
    </Style> 

<Style id="doc"><ListStyle><ItemIcon><state>open closed</state><href>http://maps.google.com/mapfiles/kml/shapes/airports.png</href></ItemIcon></ListStyle></Style> 
<Style id="airportfolder"><ListStyle><ItemIcon><state>open closed</state><href>http://maps.google.com/mapfiles/kml/shapes/placemark_circle_highlight.png</href></ItemIcon></ListStyle></Style> 
<Style id="info"><ListStyle><listItemType>checkHideChildren</listItemType><ItemIcon><state>open closed</state><href>http://www.barnabu.co.uk/files/icons/info.png</href></ItemIcon></ListStyle></Style> 
<Style id="sh_spider"><IconStyle><scale>1.2</scale><Icon><href>http://maps.google.com/mapfiles/kml/shapes/placemark_circle_highlight.png</href></Icon></IconStyle><LabelStyle><color>ff001111</color><scale>1.4</scale></LabelStyle><LineStyle><width>0.5</width><color>ffff111f</color></LineStyle></Style> 
<Style id="sn_spider"><IconStyle><scale>0.7</scale><Icon><href>http://maps.google.com/mapfiles/kml/shapes/placemark_circle_highlight.png</href></Icon></IconStyle><LabelStyle><color>ffb5b5b5</color><scale>0.9</scale></LabelStyle><LineStyle><color>00ff11ff</color></LineStyle></Style> 
<StyleMap id="spider"><Pair><key>normal</key><styleUrl>#sn_spider</styleUrl></Pair><Pair><key>highlight</key><styleUrl>#sh_spider</styleUrl></Pair></StyleMap> 


<Style id="2_sh_spider"><IconStyle><scale>1.2</scale><Icon><href>http://maps.google.com/mapfiles/kml/shapes/placemark_circle_highlight.png</href></Icon></IconStyle><LabelStyle><color>ff110011</color><scale>1.4</scale></LabelStyle><LineStyle><width>0.5</width><color>ff11111f</color></LineStyle></Style> 
<Style id="2_sn_spider"><IconStyle><scale>0.7</scale><Icon><href>http://maps.google.com/mapfiles/kml/shapes/placemark_circle_highlight.png</href></Icon></IconStyle><LabelStyle><color>ff11ffb5</color><scale>0.9</scale></LabelStyle><LineStyle><color>001111ff</color></LineStyle></Style> 
<StyleMap id="2_spider"><Pair><key>normal</key><styleUrl>#2_sn_spider</styleUrl></Pair><Pair><key>highlight</key><styleUrl>#2_sh_spider</styleUrl></Pair></StyleMap> 


<styleUrl>#doc</styleUrl> 
<Folder><name>Airports</name> 
<styleUrl>#airportfolder</styleUrl> 


<Placemark><name>Durham Tees Valley</name><description></description> 
<Snippet maxLines="0"></Snippet><styleUrl>#2_spider</styleUrl><MultiGeometry><LineString><altitudeMode>relativeToGround</altitudeMode><coordinates>-1.426979,54.5105876,0 -1.37505058232182,54.3588196840161,8130.76624025246 -1.32350445540046,54.2070296447423,15640.4403479026 -1.27233575193875,54.0552177670135,22453.9881416349 -1.22153968418068,53.90338433094,28503.3309041539 -1.17111154230159,53.7515296120054,33728.0256022233 -1.12104669283672,53.5996538811612,38075.8688134745 -1.07134057714712,53.4477574049198,41503.4183257466 -1.02198870992187,53.2958404454444,43976.4271973102 -0.972986677715595,53.1439032606379,45470.1859409886 -0.924330137520422,52.9919461042286,45969.769413186 -0.876014815371306,52.8399692258547,45470.1859409886 -0.828036504983954,52.6879728711457,43976.4271973102 -0.780391066424406,52.5359572818033,41503.4183257466 -0.733074424809449,52.3839226956791,38075.8688134745 -0.686082569037039,52.2318693468513,33728.0256022233 -0.639411550545936,52.0797974656991,28503.3309041538 -0.593057482103787,51.9277072789755,22453.9881416349 -0.547016536622892,51.7755990098789,15640.4403479026 -0.501284946002942,51.623472878122,8130.76624025247 -0.455859000000019,51.4713291000001,0 </coordinates></LineString> 
<LineString><altitudeMode>relativeToGround</altitudeMode><coordinates>-1.426979,54.5105876,0 -1.37505058232182,54.3588196840161,8130.76624025246 -1.32350445540046,54.2070296447423,15640.4403479026 -1.27233575193875,54.0552177670135,22453.9881416349 -1.22153968418068,53.90338433094,28503.3309041539 -1.17111154230159,53.7515296120054,33728.0256022233 -1.12104669283672,53.5996538811612,38075.8688134745 -1.07134057714712,53.4477574049198,41503.4183257466 -1.02198870992187,53.2958404454444,43976.4271973102 -0.972986677715595,53.1439032606379,45470.1859409886 -0.924330137520422,52.9919461042286,45969.769413186 -0.876014815371306,52.8399692258547,45470.1859409886 -0.828036504983954,52.6879728711457,43976.4271973102 -0.780391066424406,52.5359572818033,41503.4183257466 -0.733074424809449,52.3839226956791,38075.8688134745 -0.686082569037039,52.2318693468513,33728.0256022233 -0.639411550545936,52.0797974656991,28503.3309041538 -0.593057482103787,51.9277072789755,22453.9881416349 -0.547016536622892,51.7755990098789,15640.4403479026 -0.501284946002942,51.623472878122,8130.76624025247 -0.455859000000019,51.4713291000001,0 </coordinates></LineString> 
<LineString><altitudeMode>relativeToGround</altitudeMode><coordinates>-1.426979,54.5105876,0 -1.46306991162193,54.6452657167915,8130.76624025246 -1.4994007562172,54.7799330335197,15640.4403479026 -1.5359743201564,54.9145894238809,22453.9881416349 -1.57279343190481,55.0492347596452,28503.3309041539 -1.6098609628193,55.1838689106202,33728.0256022233 -1.64717982796325,55.3184917446126,38075.8688134745 -1.6847529869399,55.4531031273904,41503.4183257466 -1.72258344474472,55.5877029226427,43976.4271973102 -1.76067425263717,55.7222909919396,45470.1859409886 -1.79902850903249,55.8568671946911,45969.769413186 -1.83764936041401,55.9914313881044,45470.1859409886 -1.87654000226647,56.1259834271408,43976.4271973102 -1.91570368003095,56.2605231644716,41503.4183257466 -1.95514369008209,56.3950504504321,38075.8688134745 -1.99486338072804,56.5295651329761,33728.0256022233 -2.03486615323379,56.6640670576277,28503.3309041538 -2.0751554628687,56.7985560674327,22453.9881416349 -2.11573481997855,56.933032002909,15640.4403479026 -2.15660779108317,57.0674947019956,8130.76624025247 -2.19777799999999,57.201944,0 </coordinates></LineString> 

<Point><coordinates>-1.426979,54.5105876,0</coordinates></Point></MultiGeometry></Placemark> 

</Folder> 

</Document> 
</kml> 

Respuesta

1

No, no es posible. La multigeometría es un elemento secundario de Placemark, que tiene el elemento styleUrl. Haría mejor en dividirlos en diferentes elementos de Placemark y agruparlos en un nivel de carpeta.

+0

La carpeta es una solución razonable, hasta que desee utilizar un Mapa de estilos y obtener un estilo diferente en el resaltado del mouse. Si le da estilo a la carpeta, todos los niños obtienen el mismo estilo, pero si los estiliza, entonces solo uno a la vez puede resaltar. A menos que me esté perdiendo algo. – yoyo

6

No, consulte las preguntas frecuentes KML, que abordan su question:

¿Puedo asignar diferentes colores/estilos para diferentes geometrías en un elemento geométrico múltiple ?

El elemento MultiGeometry agrupa las geometrías juntas en el mismo elemento de marca de posición. Esto permite que las geometrías compartan el mismo estilo y que aparezcan como un solo elemento en una lista como el panel Mis lugares en Google Earth.

estilos se establecen en el nivel de posición, ya sea utilizando un styleUrl elemento o un elemento de estilo. Por lo tanto, las geometrías individuales en esa marca de posición no pueden tener diferentes estilos.

Véase también la solución que he encontrado útil:

Una solución de uso frecuente es la de crear una marca de posición separado para cada geometría, permitiendo que cada uno tener un estilo diferente. Para evitar una proliferación de elementos de una lista, los colocan en una carpeta que tiene un ListStyle con un listItemType con checkHideChildren. En Google Earth, por ejemplo, esto coloca todas las marcas de posición en el mismo elemento de carpeta en Mis lugares, y evita que el usuario lo abra hasta muestra una gran cantidad de elementos.

Cuestiones relacionadas