Ich lade eine KML-Datei über Google Map's V3 API. Die Farben in der KML-Datei werden verwendet, aber ich möchte sie mit meiner eigenen Farbe überschreiben. Ich möchte eigentlich eine feste Farbe für die ganze Spur verwenden. Gibt es eine Möglichkeit, dies zu tun?Wie überschreibt man KML-Farben in Google Map?
Antwort
KML-Farben basieren auf Style
api-doc Tags, die entweder direkt in der KML definiert sind oder einen Verweis auf eine externe KML-Stildatei verwenden (ähnlich wie CSS). Wir verwenden eine externe Stildatei, sodass die Stile auf mehrere KML-Dateien angewendet werden können. Diese
bedeutet, dass innerhalb unserer KML Daten Dateien, Sie Einträge wie diese finden:
<?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. ---
Die styleUrl
Tag über im Wesentlichen sagt: gehen die Datei suchen in: kml-styles.kml
und finden Sie den Stil benannt: red
.
Und in der unsere KML Stil Datei, werden Sie Einträge wie diese finden:
<?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. ---
Es ist wichtig zu beachten, dass KML Farbeapi-doc Definitionen acht hexadezimalen Ziffern innerhalb ihrer Definition enthalten; zwei Ziffern mehr als bei anderen Farbdefinitionen üblich, da die ersten beiden Hex-Ziffern die Farbdeckkraft (Alpha) definieren.
Das Beispiel in der KML Style
api-doc (das gleiche wie der Link oben) zeigt auch, wie Stile direkt in der KML-Datei definiert werden können, die die Daten enthält.
KML ist XML, also würden Sie XSL (yeah, ich weder) oder PHP oder (abhängig von den Besonderheiten) JavaScript verwenden, um es zu KML zu parsen/umzuwandeln/re-serialisieren.
KML Farben wie so arbeiten,
<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 kann auch als
#RRGGBB
gesehen wurden, können Sie ganz einfach die Farben bewegen sich in KML
so gelb für KML arbeiten würde be
<color>ff00FFFF</color>
<color>AABBGGRR</color>
Das hat für mich funktioniert.
Auch für Grenzen verwenden Sie unten.
<outline>1</outline>
https://developers.google.com/kml/documentation/kmlreference