MediaGallery2Map.txtより
= メディアギャラリ(MediaGallery)から地図(Map)へインポートする機能 =
更新日: 2010/06/11
作者: hiroron (ひろろん)
スポンサー: 京都大学様
== 機能説明 ==
メディアギャラリー(以下MG)から自動で地図(日記や静的ページ)へ位置情報(以下ポイント)を反映します。
自動反映するにはMGの「説明」項目にポイントをタグ[maps:mgpoint]を使い指定します。それらポイントが入力されたものを前回反映時から最新のものまでを対象に自動的に処理して地図に反映します。反映日時を記憶し前回反映時から最新のものだけを対象に処理することで毎回全部をチェックしないよう負荷の軽減を考慮した作りになっています。
さらに撮影日、撮影場所、撮影者などといった撮影情報をタグ[maps:mgexif]を使い指定することができます。この撮影情報タグはオプションで必須ではありません。
自動反映のタイミングは「コンフィギュレーション」>「Geeklogの設定」>「その他」>「Cronスケジュール間隔」で秒単位の数値で指定できます。Geeklogの初期値は86400秒でこれは24時間に1回実行されることを表します。
即時反映もできるようGoogleMaps管理に「MGからポイント生成」を用意しています。日時を入力して実行すれば、その日時以降に登録されたメディアギャラリの画像を対象にGmapへ反映いたします。日時を空白のまま実行すれば全てを対象として反映します。実行結果は完了画面に、それぞれ件数表示されます。
このMGから地図への位置情報の反映では、すでに追加済みの位置情報は追加いたしません。これは即時反映で全てを対象にした場合でも同様です。
すでに追加済みかどうかのチェックは、まずMGへのリンクURLの存在チェックをして大まかにチェックしたのちに、1つの位置情報タグ([maps:point])の中に追加しようとしているのと同じ「経度、緯度、MGへのリンクURL」が存在していないかチェックしています。
※「MGへのリンクURL」にはMGのIDが含まれているためアップロード後の編集などでも画像1件につき変わることないIDとなるためチェックに使っています。
「位置情報」はMGの「説明」項目へ、次のタグを使って入力します。
位置情報とそれを反映する地図を指定するタグ
[maps:mgpoint <経度,緯度> <反映先のID>
反映先のIDには story:
icon指定などpointタグで使うオプション指定にはpointタグで使えるものがそのまま指定できます。
タグ例) [maps:mgpoint 34.985485,135.757756 sp:mymaps icon:green]
※画像にGPSデータが含まれている場合は <経度,緯度> の部分に「gps」と入力することで、その値を使うことができます。
GPSを使うタグ例) [maps:mgpoint gps sp:mymaps icon:red]
「撮影情報」はMGの「説明」項目へ、次のタグを使って入力します。
撮影情報を指定するタグ
[maps:mgexif DateTimeOriginal:<撮影日> Place:<撮影場所> Artist:<撮影者>]
指定されたものだけが表示に反映します。
タグ例) [maps:mgexif DateTimeOriginal:2009/04/30 Place:京都駅前 Artist:ひろろん]
※画像に含まれるEXIFデータを表示することができます。その場合EXIFデータ名だけを入力して値を空にします。
※次の例はEXIFデータを使って撮影日時、画像の幅、画像の高さ、露出、F値、露光、ISOを表示するタグです。
EXIFを使うタグ例) [maps:mgexif DateTimeOriginal: ExifImageWidth: ExifImageHeight: ExposureTime: FNumber: ExposureBiasValue: ISOSpeedRatings:]
== MGの各画像の表示ページに自動タグがそのまま表示されないようにするハック ==
MediaGallery1.6.1 or 1.6.8WKZ ではハックしないと入力した[maps:mgpoint]タグや[maps:mgexif]タグが、各画像のページでそのままの文字列として表示されてしまいます。これを表示されないようにハックする必要があります。MG1.6.1をお使いの場合は同梱の「classMedia161.php」でMG1.6.8WKZの場合は「classMedia168wkz.php」で置き換えてください。そうでない場合は「手動でハックを行う」をご参考に変更ください。
=== ハック済みのファイルで置き換える(for MG1.6.1) ===
public_html/mediagallery/classMedia.php を同梱の classMedia161.php を classMedia.php にリネームしてFTPにてclassMedia.phpを置き換えてください。元のファイルは元に戻せるようバックアップをとっておいてください。
=== ハック済みのファイルで置き換える(for MG1.6.8WKZ) ===
private/plugins/mediagallery/include/classMedia.php を同梱の classMedia168wkz.php を classMedia.php にリネームしてFTPにてclassMedia.phpを置き換えてください。元のファイルは元に戻せるようバックアップをとっておいてください。
=== 手動でハックを行う ===
MediaGallery1.6.1の場合は public_html/mediagallery/classMedia.php を以下のように変更します。
※以下の行数の目安はMediaGallery1.6.1での行数です。
変更前 : classMedia.php : 592行目
{{{
'media_tag' => strip_tags($this->description),
}}}
変更後 : classMedia.php : 592行目
{{{
'media_tag' => PLG_replaceTags(strip_tags($this->description)),
}}}
※つぎにMediaGallery1.6.8WKZでの場合です
private/plugins/mediagallery/include/classMedia.php を以下のように変更します。
変更前 : classMedia.php : 612行目
{{{
'media_tag' => strip_tags($this->description),
}}}
変更後 : classMedia.php : 612行目
{{{
'media_tag' => PLG_replaceTags(strip_tags($this->description)),
}}}
== GoogleMapsコンフィギュレーションのメディアギャラリについての解説 ==
=== GoogleMapsとメディアギャラリの連携機能の設定 ===
MGとの連携機能を有効にする:「はい」(デフォルト)
「はい」にすると、スケジュールによる自動反映や、管理画面の「MGからポイント生成(即時反映)」が使えるようになります。
=== MGから取り込む際の情報ウィンドウの設定 ===
情報ウィンドウの表示フォーマット:「[image][br]Title: [title][br]Information: [description][keywords][DateTimeOriginal][Place][Artist]」(デフォルト)
地図で表示する場合の情報ウィンドウの内容を生成するときの出力フォーマットを指定します。MGでの入力項目の表示の順番を自由に編集でき、HTMLが使えるので情報ウィンドウの見た目を柔軟に変更できます。
※使える変数
[image] => 「画像の表示フォーマット(image) 」のIMGタグ(画像)
[title] => MG入力項目のタイトル
[description] => MG入力項目の説明
[keywords] => MG入力項目のキーワード
[撮影情報の要素名] => 対応する「撮影情報の表示フォーマット」で指定された出力
[br] =>
か
をGeeklogの設定によって出力します
[xhtml] => Geeklogで設定されているXHTMLの値(空文字or' /')を出力します
画像の表示フォーマット(image) :「」(デフォルト)
「情報ウィンドウの表示フォーマット」での[image]に入る画像タグのフォーマットを指定します。画像サイズやstyleなどでの右寄せ左寄せが指定できます。
※使える変数
[img_url] => MGの画像のURL
[title] => MG入力項目のタイトル
[br] =>
か
をGeeklogの設定によって出力します
[xhtml] => Geeklogで設定されているXHTMLの値(空文字or' /')を出力します
キーワードの表示フォーマット(keywords):「[br]Keywords: [keywords]」(デフォルト)
「情報ウィンドウの表示フォーマット」での[keywords]に入るMGのキーワードへのリンクの表示フォーマットを指定します。
※使える変数
[keywords] => MGでのキーワードと同じキーワードへのリンク
[br] =>
か
をGeeklogの設定によって出力します
[xhtml] => Geeklogで設定されているXHTMLの値(空文字or' /')を出力します
撮影情報の表示フォーマット:複数指定
要素(DateTimeOriginal)=「[br]Date Taken: [DateTimeOriginal]」(デフォルト)
要素(Place) =「[br]Place: [Place]」(デフォルト)
要素(Artist) =「[br]Taken by: [Artist]」(デフォルト)
「情報ウィンドウの表示フォーマット」での撮影者情報の要素名ごとの変数の表示フォーマットを指定します。要素名は画像のEXIFデータの名称を使うことで該当するEXIFデータがある場合は入力せずにその値を使うことができます。要素の追加の際の要素名の参考にしてください。DateTimeOriginalとArtistはEXIFデータの撮影日時と撮影者に一致しています。
※使える変数
[要素名] => mgexifタグで指定された要素名の値。mgexifタグで要素名だけで値が指定されてない場合は画像のEXIFデータを参照し値が存在すればその値が入ります。
[br] =>
か
をGeeklogの設定によって出力します
[xhtml] => Geeklogで設定されているXHTMLの値(空文字or' /')を出力します
=== MGでの自動タグ表示の設定 ===
mgpointタグの位置情報を地図で表示する:「はい」(デフォルト)
「はい」にすると、MG側で各画像のページにてmgpointタグを入力した位置に、この画像の撮影場所といった用途で地図を表示します。「いいえ」にすると空白を出力し何も表示しません。
地図の説明:「画像の場所」(デフォルト)
「mgpointタグの位置情報を地図で表示する」で表示する地図への説明文を指定します。
地図の説明の表示場所:「地図の上」(デフォルト)
「mgpointタグの位置情報を地図で表示する」で表示する地図への説明文の表示場所を指定します。
地図の横サイズ(width):「230」(デフォルト)
「mgpointタグの位置情報を地図で表示する」で表示する地図のwidthの値を指定します。
地図の縦サイズ(height):「170」(デフォルト)
「mgpointタグの位置情報を地図で表示する」で表示する地図のheightの値を指定します。
地図のズーム(zoom) :「12」(デフォルト)
「mgpointタグの位置情報を地図で表示する」で表示する地図のzoomの値を指定します。
地図のデフォルトのマップ種類:「G_PHYSICAL_MAP」(デフォルト)
「mgpointタグの位置情報を地図で表示する」で表示する地図の種類を指定します。
※種類については、Google Maps API の class GMapType の中の「定数」をご覧下さい。
http://code.google.com/intl/ja/apis/maps/documentation/reference.html#GMapType
mgexifタグの撮影情報を表示する:「はい」(デフォルト)
「はい」にすると、MG側で各画像のページにてmgexifタグを入力した位置に、「撮影情報の表示フォーマット」のフォーマットにそった出力を表示します。「いいえ」にすると空白を出力し何も表示しません。
== TIPS ==
=== MGでのタイトルや説明にHTMLを入力したい。 ===
MGのタイトルや説明が地図での情報ウィンドウに表示されるので、HTMLを入力してリンクをつけたりしたいなどの場合があります。そのようなときにはMG側の設定でHTMLを入力できるようになります。
管理者メニューの「メディアギャラリ」から「システム設定」の「一般的なオプション」の「タイトルと説明にHTMLタグの使用を許可する」を「はい」にして「保存/実行」ボタンを押せば、HTMLが使えるようになります。
[tag:アドオン備忘録 ]
'GoogleMapsAPI Plugin (tkgmapsプラグイン)'について他のサイトでは次のように言及されています:
[...] Advanced Search tkgmaps googlemapsapi グイ ラグ プラ 2 tweets tweet 2 tweets tweet 2 All 0 Influential GoogleMapsAPI Plugin (tkgmapsプラグイン) - GLTMatrix gltmatrix.com/article.php/tkgmapsv2 – view page – cached In order to view this page [...] 続きを読む
サイト管理者はコメントに関する責任を負いません。