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
I colori KML si basano sui tag Style
api-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 Style
api-doc (uguale al collegamento in alto), mostra anche come gli stili possono essere definiti direttamente all'interno del file KML che contiene i dati.
KML è XML, quindi utilizzeresti XSL (sì, neanche io) o PHP o (a seconda delle specifiche) JavaScript per analizzare/trasformare/ri-serializzare nuovamente in KML.
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