注、この行為を行うことによってデーターが消失などしても責任取れませんので
自己責任でお願いします。
現時点では弊害もあるので一度目を通してからにして下さい。
■必要な物や事
正規表現検索プラグイン MTRegex
http://bradchoate.com/weblog/2002/07/27/mtregex
インストール方法
* (mt home)/plugins/regex.pl
* (mt home)/extlib/bradchoate/regex.pm
* (mt home)/extlib/bradchoate/postproc.pm
に各ファイルをアップロードしましょう。
GoogleMapsEditor
↑住所を座標に変えるときに便利です。
■やりかた説明
1.GoogleEarthで地図に表示する記事を入れるカテゴリーを作ります。
2.インデックス・テンプレートを新しく作ります。
テンプレートの名前 お好きに
出力ファイル名 hogehoge.kml
テンプレートの中身
*日本語のところを変えてください。
<kml xmlns="http://earth.google.com/kml/2.0">
<Folder>
<name>ブログのタイトル</name>
<MTRegexDefine name="mapaaa">s|,|</longitude><latitude>|g</MTRegexDefine>
<MTEntries category="表示するカテゴリー" lastn="1000">
<MTEntryIfExtended>
<Placemark>
<name><$MTEntryTitle$></name>
<description>
<![CDATA[
<font style="font-size: 10pt"><$MTEntryExcerpt convert_breaks="1"$></font>
<hr>
<a href="<$MTEntryPermalink$>">この記事はこちら</a>
]]>
</description>
<LookAt>
<longitude><$MTEntryMore convert_breaks="0" regex="mapaaa"$></latitude>
<range>300</range>
<tilt>0.0</tilt>
<heading>0.0</heading>
</LookAt>
<Style>
<icon>アイコン画像のURL</icon>
</Style>
<Point>
<extrude>1</extrude>
<altitudeMode>relativeToGround</altitudeMode>
<coordinates><$MTEntryMore convert_breaks="0"$></coordinates>
</Point>
</Placemark>
</MTEntryIfExtended>
</MTEntries>
</Folder>
</kml>
3.そのカテゴリーに記事を書きます。
エントリーを書く際に追記に座標(例)139.432082,36.824504のように
東経,北緯だけを記入します。
↑
弊害1、これによりこのカテゴリー内では座標記入以外の追記が使えなくなる・・・
弊害2、メインページなどでは追記で「続きを読む」などが表示されますが
クリックしてもこのカテゴリーの記事は座標しかでなくなる。
弊害2の対処法↓
メインページ・日付アーカイブなどの下記のタグを使っているところに
<MTEntryIfExtended>~~~~~~</MTEntryIfExtended>
を囲むように下記の太文字のコードを記入
<MTEntryCategories>
<MTIfMatches var="CategoryLabel" pattern="m/(cat1|cat2|cat3)/i">
ここに<$MTEntryMore$> or ~~~~~~
</MTIfMatches>
</MTEntryCategories>
を入れる。
cat1|cat2|cat3の部分にGoogleEarthで地図に表示するカテゴリー以外の
カテゴリーラベルを記入する。
複数の場合は|で区切る。
これにより対処できます。
4.作ったテンプレートのファイルhogehoge.kmlのURLにアクセス。
うまくいけば表示されます。
またエントリーのタイトルに&が入っているとエラーが出ました。
以上
■テンプレートの中身の解説
<kml xmlns="http://earth.google.com/kml/2.0">
<Folder>
<name>Blog::andows</name>
↑ここはGoogleEarthのPlacesに出るフォルダの名前になります
<MTRegexDefine name="mapaaa">s|,|</longitude><latitude>|g</MTRegexDefine>
↑先ほどエントリーを書き込むときに追記欄に座標を書きますと言いましたよね。
例 127,1234,54.1234
これをGoogleEarthで認識されるように
<longitude>127,1234</longitude>
<latitude>54.1234</latitude>
このような形にしなくてはなりません。
そこでMTRegexという正規表現が使えるプラグインで座標の真ん中の「,」を
</longitude><latitude>に置き換えなさいという定義です。
これにより下記のような形になりますね。
<longitude>127,1234</longitude><latitude>54.1234</latitude>
またname="mapaaa"の部分はこの定義の名前で下で出てきますので覚えていてください。
*1
<MTEntries category="03foods" lastn="1000">
↑は地図に表示するカテゴリー名と件数です。
<MTEntryIfExtended>
↑は追記に何も書かれていない場合は除外する指令
<Placemark>
<name><$MTEntryTitle$></name>
↑地図に表示されるマークに着くタイトルです。
<$MTEntryTitle$>を使うことによりエントリーのタイトルが自動的に入りますね。
<description>
<![CDATA[
<font style="font-size: 10pt"><$MTEntryExcerpt convert_breaks="1"$></font>
<hr>
<a href="<$MTEntryPermalink$>">この記事はこちら</a>
]]>
</description>
↑ここは地図に表示されるマークをWクリックしたときに出てくる
吹き出しの中の文章です。
<$MTEntryExcerpt convert_breaks="1"$>を入れておけば概要や
エントリーの最初の20ワードが自動的に入りますね。
<![CDATA[ と ]]>は消してはダメです。
この中は自由にHTMLが使えます。
私は<$MTEntryPermalink$>を使って書くエントリーにリンクを張っています。
<LookAt>
<longitude><$MTEntryMore convert_breaks="0" regex="mapaaa"$></latitude>
↑この部分は座標を表示する部分です。
座標はエントリーの追記より取得しています。
そしてregex="mapaaa"を後ろに着けることにより
プラグインのMTRegexが*1の働きをします。
<range>150</range>
<tilt>0.0</tilt>
<heading>0.0</heading>
↑この3つは地図の倍率や傾きなどです。
数字を入れ替えていろいろ試してみましょう。
</LookAt>
<Style>
<icon><$MTBlogURL$>archives/page_img/earth/<MTEntryCategories glue=", "><$MTCategoryLabel$></MTEntryCategories>.png</icon>
</Style>↑
ここは地図に表示されるアイコンの画像を定義する部分です。
アイコンのURLを<icon> </icon>の間に記入します。
私は
<MTEntryCategories glue=", "><$MTCategoryLabel$></MTEntryCategories>.png
を使うことによりカテゴリー名のアイコンに自動的になるようにしています。
<Point>
<extrude>1</extrude>
<altitudeMode>relativeToGround</altitudeMode>
<coordinates><$MTEntryMore convert_breaks="0"$></coordinates>
↑ここにも<coordinates></coordinates>の間に座標が必要です。
ただここは127,1234,54.1234状態でよいので
普通に<$MTEntryMore convert_breaks="0"$>でエントリーの追記がくるようになっています。
</Point>
</Placemark>
</MTEntryIfExtended>
</MTEntries>
</Folder>
</kml>
という感じで私はやってみました。
私はPerlやプログラミングなど全然わかんないので
もっといいやり方をご存じの方は教えてくださるとうれしいです。
...続きを隠す