Как переопределить цвета KML в карте Google?

я загружаю файл KML через API V3 Google Map. Цвета в файле KML используются, но я хотел бы переопределить его своим собственным цветом. Я действительно хочу использовать сплошной цвет для всего следа. Есть ли способ сделать это?

3 ответов


цвета KML основаны на Styleapi-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 Styleapi-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.