[[KML]]

KML

地理空間情報を記述するxml形式の構文。Google Earthはkmlを採用しているので、地図上に描きたい点とか線とか画像とかはkmlで指定する。

もともとは「Keyhole Markup Language」の略。Google EarthはもともとKeyhole社が作っていたのをGoogleが買収したため、そもそもGoogle Earthのための構文だった。だが、kmlがオープンソースの団体に取り入れられ、より広く使われる規格になってくると、特定の企業・ソフトに依存するものでは無いという意味か、現在は名目上は「略語では無い」という扱いになっている。

LineStringにラベルを表示

線分のスタイルに<gx:labelVisibility>1</gx:labelVisibility>を追加

<name>の値が線分の中点あたりに表示される

表示位置の調整まではできない?

マウスホバー中のLineStringを強調表示

Highlight selected line - Google プロダクト フォーラム

複数のStyleをまとめる「StyleMap」を使用する。下記コード中の「…」から始まる行は、便宜的なコメント行なので削除すること。

...<Document>下など、通常の<Style>を記述する階層に記述する
...通常時のスタイル
<Style id="style_normal">
    <LineStyle>
        <colorMode>normal</colorMode>
        <width>3</width>
        ...他にも通常時のLineStyleを指定
    </LineStyle>
</Style>

...強調表示のスタイル
<Style id="style_highlight">
    <LineStyle>
        <color>880000FF</color>
        <width>5</width>
        ...他にも強調時のLineStyleを指定
    </LineStyle>
</Style>

...2つを結合するスタイルマップ
<StyleMap id="style_map">
    <Pair>
        <key>normal</key>
        <styleUrl>#style_normal</styleUrl>
    </Pair>
    <Pair>
        <key>highlight</key>
        <styleUrl>#style_highlight</styleUrl>
    </Pair>
</StyleMap>

これを設定した上で、LineStringのStyleとして、StyleMapのIDである「style_map」を指定すると、マウスホバー時は強調表示のスタイルが適用される。

    <Placemark id="feat_8">
        <name>Towers</name>
        <styleUrl>#style_map</styleUrl>  ...←ここに指定
        <LineString>
            <coordinates>35.659400,139.745347 35.710063,139.810698 34.652500,135.506306</coordinates>
        </LineString>
    </Placemark>

software/google_earth/kml.txt · 最終更新: 2017/09/06 by ikatakos
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0