2012-05-16 13 views
8

Sto caricando un file KML tramite l'API V3 di Google Map. I colori nel file KML sono in uso ma vorrei sovrascriverlo con il mio colore. In realtà voglio usare un colore solido per l'intera traccia. C'è un modo per fare questo?Come ignorare i colori KML in Google Map?

risposta

9

I colori KML si basano sui tag Styleapi-doc definiti direttamente nel file KML o utilizzando un riferimento a un file di stile KML esterno (simile al CSS). Utilizziamo un file di stile esterno, in modo che gli stili possano essere applicati a più file KML.

Questo significa che all'interno dei nostri KML dati file, troverete le voci di questo tipo:

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://earth.google.com/kml/2.2"> 
<Document> 
    <name>Country Borders</name> 
    <open>1</open> 
    <Placemark> 
     <name>Russian Federation</name> 
     <styleUrl>kml-styles.kml#red</styleUrl> 
--- etc. --- 

Il styleUrl tag sopra essenzialmente dice: andare a cercare nel file: kml-styles.kml e trovare lo stile di nome: red.

E all'interno del nostro KML stile di file, troverete le voci di questo tipo:

<?xml version="1.0" encoding="UTF-8"?> 
<kml xmlns="http://earth.google.com/kml/2.2"> 
<Document> 
    <name>KML Styles</name> 
    <open>1</open> 
    <Style id="red"> 
     <LineStyle> 
      <color>7da00000</color> 
      <width>1</width> 
     </LineStyle> 
     <PolyStyle> 
      <color>7f0000ff</color> 
     </PolyStyle> 
    </Style> 
    <Style id="green"> 
     <LineStyle> 
      <color>FFFF00</color> 
      <width>1</width> 
     </LineStyle> 
     <PolyStyle> 
      <color>7f00aa00</color> 
     </PolyStyle> 
    </Style> 
    --- etc. --- 

E 'importante notare che KML coloreapi-doc definizioni includono otto cifre esadecimali all'interno della loro definizione; due cifre in più rispetto a quelle usuali per altre definizioni di colore, poiché le prime due cifre esadecimali definiscono l'opacità del colore (alfa).

L'esempio al KML Styleapi-doc (uguale al collegamento in alto), mostra anche come gli stili possono essere definiti direttamente all'interno del file KML che contiene i dati.

0

KML è XML, quindi utilizzeresti XSL (sì, neanche io) o PHP o (a seconda delle specifiche) JavaScript per analizzare/trasformare/ri-serializzare nuovamente in KML.

4

colori KML funzionano in questo modo,

<color>AABBGGRR</color> 
AA = alpha opacity 
BB = blue 
GG = gren 
RR = red 

The range is from 00 -> ff 

RGB for white = 255, 255, 255, hex -> #ffffff 

RGB for yellow is 255,255,0, hex -> #ffff00 

Hex può anche stato visto come

#RRGGBB 

È possibile spostare facilmente i colori in giro a lavorare per KML

così giallo in KML sarebbe be

<color>ff00FFFF</color> 
<color>AABBGGRR</color> 

Questo ha funzionato per me.

Inoltre, per i bordi utilizzare al di sotto.

<outline>1</outline> 

https://developers.google.com/kml/documentation/kmlreference