Как переопределить цвета KML в карте Google?
я загружаю файл KML через API V3 Google Map. Цвета в файле KML используются, но я хотел бы переопределить его своим собственным цветом. Я действительно хочу использовать сплошной цвет для всего следа. Есть ли способ сделать это?
3 ответов
цвета KML основаны на Style
api-doc теги, которые определены либо непосредственно в KML, либо с помощью ссылки на внешний файл стиля KML (аналогично CSS). Мы используем внешний файл стиля, так что стили могут быть применены к нескольким файлы KML.
это означает, что в нашем KML сведения файлы, вы найдете такие записи, как это:
<?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
тег выше по существу говорит: go look in the file: kml-styles.kml
и найдите стиль с именем:red
.
и в пределах нашего KML стиль файл, вы найдете такие записи, как это:
<?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. ---
важно отметить, что цвет KMLapi-doc определения включают восемь шестнадцатеричные цифры в их определении; на две цифры больше, чем обычно для других определений цвета, потому что первые две шестнадцатеричные цифры определяют непрозрачность цвета (альфа.)
пример в KML Style
api-doc (то же, что и ссылка вверху), также показывает, как стили могут быть определены непосредственно в файле KML, содержащем данные.
цвета KML работают так,
<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 также можно рассматривать как
#RRGGBB
вы можете легко перемещать цвета вокруг, чтобы работать для KML
так желтый в KML будет
<color>ff00FFFF</color>
<color>AABBGGRR</color>
это работает для меня.
также, для границ используйте ниже.
<outline>1</outline>
https://developers.google.com/kml/documentation/kmlreference
KML-это XML, поэтому вы бы использовали XSL (да, я тоже) или PHP или (в зависимости от особенностей) JavaScript для разбора / преобразования / повторной сериализации обратно в KML.