2012-05-16 12 views
8

Załaduję plik KML za pomocą interfejsu API V3 w Mapach Google. Kolory w pliku KML są używane, ale chciałbym nadpisać je moim własnym kolorem. Właściwie chcę użyć jednolitego koloru dla całego śladu. Czy jest jakiś sposób na zrobienie tego?Jak przesłonić kolory KML na Mapie Google?

Odpowiedz

9

Kolory KML są oparte na znacznikach Styleapi-doc zdefiniowanych bezpośrednio w pliku KML lub przy użyciu odwołania do zewnętrznego pliku stylu KML (podobnego do CSS). Używamy zewnętrznego pliku stylu, aby można było zastosować style do wielu plików KML.

To oznacza, że ​​w naszych KML danych plików znajdziesz wpisy takie jak ten:

<?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. --- 

styleUrl tag powyżej zasadniczo mówi: idź spojrzeć w pliku: kml-styles.kml i znaleźć styl o nazwie: red.

A w naszej KML styl pliku, znajdziesz wpisy takie jak ten:

<?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. --- 

Ważne jest, aby pamiętać, że KML kolorapi-doc definicje obejmują osiem cyfry hex obrębie ich definicją; o dwie cyfry więcej niż to, co jest zwyczajowe dla innych definicji kolorów, ponieważ pierwsze dwie cyfry szesnastkowe określają przezroczystość koloru (alfa).

Przykład w KML Styleapi-doc (taki sam jak link na górze), pokazuje także, jak style można zdefiniować bezpośrednio w pliku KML, który zawiera dane.

0

KML to XML, więc używałbyś XSL (tak, ja też nie) lub PHP lub (w zależności od specyfiki) JavaScript do parsowania/transformacji/ponownej serializacji z powrotem do KML.

4

KML kolory działają jak tak,

<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 można również postrzegać jako

#RRGGBB 

można łatwo przenieść kolory wokół pracować KML

tak żółty KML będzie być

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

To działa dla mnie.

Również w przypadku granic użyj poniżej.

<outline>1</outline> 

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

Powiązane problemy