Google マップの V3 API を介して KML ファイルを読み込んでいます。KML ファイルの色が使用されていますが、独自の色で上書きしたいと考えています。実際には、トレース全体に単色を使用したいと考えています。これを行う方法はありますか?
3 に答える
KML の色は、KML で直接定義されるか、外部の KML スタイル ファイル (CSS と同様) への参照を使用して定義されるStyle
api-docタグに基づいています。スタイルを複数の 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
and find the style named: 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. ---
KML color api-doc定義には、定義内に8 つの16 進数が含まれていることに注意してください。最初の 2 桁の 16 進数が色の不透明度 (アルファ) を定義するため、他の色の定義で通常使用される数字よりも 2 桁多くなります。
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 に戻します。