Lightweight Google Maps (地図プラグイン)

初出日: 2007年1月24日 | 最終更新日: 2008年8月10日
投稿者: ゆりこ | パーマリンク

概要

Lightweight Google Maps プラグイン画面

Google マップを、各記事または固定ページとして表示します。記事に “Lat_Long” という名前のカスタムフィールドがあれば、緯度・経度として扱って、以下の要領でマーカー付きの地図を表示します。

また、プラグインの内部 API を利用すると、Lat_Long カスタムフィールドに入っている位置情報を KML ファイルとして取得し、Google Earth などで活用することが可能です。

記事ページ

  • 指定された緯度・経度を中心とするミニサイズ (既定値は 300×150 ピクセル) の地図。
  • または、指定された緯度・経度を中心とする固定の地図ページへのリンク。

固定の地図ページ

  • 既定値では最新の100箇所にマーカーを打った地図。
  • または、指定したカテゴリーすべての地点にマーカーを打った地図。
  • または、特定の緯度経度を中心とした地図。

Ktai Style バージョン 1.43 以降または Mobile Eye+ による携帯電話出力を行っている場合にも地図が表示できます。各社 3G 端末、ウィルコム、スマートフォン等「今ドキの端末」で閲覧したとき、投稿本文の後ろに小さめの地図 (128×80 ピクセル) を出力されます。mova, SoftBank PDC 等では、表示できるファイルサイズに引っかかるため、地図は出ません。Mobile Eye+ の場合は、閲覧している端末の判別ができないため、どの端末でも地図へのリンクとなります。

また、プラグインの内部 API を利用すると、Lat_Long カスタムフィールドに入っている位置情報を KML ファイルとして取得し、Google Earth などで活用することが可能です。

本プラグインは Plug ‘n’ Play Google Map プラグイン を参考に制作しましたが、このプラグインでは必須だった Geo プラグインは不要となっています。また、サムネール表示機能を削除したかわりに、記事の概要を表示させるようにしています。

“Lat_Long” カスタムフィールドに位置情報を格納するには、投稿画面で手入力する他、拙作の Ktai Location プラグインも利用できます。

動作サンプルとしては、作者のサイト「Yuriko.Net 旅行記の旅行地図」をご覧ください。ただし、開発中のバージョンを使っているため、こっそり新機能が実装されているかもしれません ;-)

ダウンロード

安定版
lw-google-maps140.tar.bz2 (30.5KB)
ベータ版
(現在はありません)

アーカイブは、tar.gz もしくは tar.bzip2 型式となっています。がんばって展開してください;-) 以前のバージョンの入手や MD5 チェックサムの確認は リリースファイル・リストで可能です。開発中バージョンは CVS リポジトリーから入手できます。

対応環境 (安定版)

  • WordPress 2.0 以降。2.6 にも対応しています。
  • PHP 4 以降。ただし、動作確認は PHP5.2.x で行なっていますので、それ以前のバージョンでは動かないかもしれません。PHP 4.x, PHP5.0, PHP5.1 をご利用の場合は、自己責任にてご利用をお願いします。
  • 携帯電話での地図出力は、Ktai Style バージョン 1.43 以降もしくは Mobile Eye+ が必要です。Ktai Style 1.42 以前または MobilePressNeo には対応しておりません。

設置方法

  1. 現在、Geo プラグイン、wp-eznavi プラグイン、Plug ‘n’ Play Google Map プラグイン等を利用している場合は、無効にしておきます。
  2. プラグインをダウンロードして展開し、FTP ソフト等で lightweight-google-maps フォルダごとプラグインディレクトリーに転送します。なお、*.html および lang/*.po は動作には不要なので削除してかまいません。
    (プラグインはまだ有効にしないでください)
  3. 次は、地図表示の固定ページを作ります。管理画面の投稿→ページ作成で、新規に固定ページを作ります。そして、地図を表示させたい部分に以下の空の div 要素2つを置きます。Plug ‘n’ Play Google Map を利用していた場合、”yf_map” という div 要素を修正すれば OK です。
    <div id="gmap_menu"></div>
    <div id="google_maps"></div>
  4. テンプレートを修正します。フッター、サイドバーもしくはページのいずれのテンプレートに、以下の記述がなければ追加しておきます。あればそのままで構いません。
    <?php wp_footer(); ?>
  5. 各記事へのミニサイズの地図、または固定ページへのリンクは自動的に挿入されます。
  6. いよいよ Lightweight Google Maps プラグインを有効にします。
  7. 管理画面のオプション→Google Maps で設定項目を入力します。API キーは必須ですが、それ以外の項目は入力しなくても構いません (デフォルト値が適用されます)。ページ ID を空にすると固定の地図ページは作られません。Google マップの API キーを持っていなければ、Google から取得してください。
  8. Plug ‘n’ Play Google Map プラグインを利用していた場合、オプション値は引き継がれています。そのまま「設定を更新する」ボタンを押せば、本プラグインの設定値として使われます (更新ボタンを押すまでは無効です)。このとき、Plug ‘n’ Play Google Map プラグインのオプション値は削除されます。
  9. Geo プラグイン等を使っていた場合は、管理画面の一番下にあるチェックボックスをオンにしてオプションを更新します。こうすると、Geo プラグイン用のカスタムフィールド (_geo_location) が Lat_Long カスタムフィールドに変換されます。
  10. これで地図が表示されるはずです。お楽しみください。

以上で完了です。WordPress 2.3 以降を使っている場合、本プラグインの更新を知らせるために、別途「JSeries Notifier」をインストールされることをおすすめします。

wp-content もしくは wp-content/plugins ディレクトリーを移設する場合

WordPress 2.6 以降で可能になった、wp-content ディレクトリーや wp-content/plugins ディレクトリーの移設を行う場合、lightweight-google-maps/wp-load.php の修正が必要です。

8行目にある $wp_root 変数を変更して、WordPress インストールディレクトリーへの絶対パスを示すようにしてください。通常のインストールでは、dirname(dirname(dirname(dirname(__FILE__)))) . '/'; でよいですが、wp-content ディレクトリーを移設すると違う記述が必要です。

例: WordPress ディレクトリーが /home/foo/public_html/wp で、wp-content ディレクトリーが /home/foo/public_html/wp-content の場合
$wp_root = dirname(dirname(dirname(dirname(__FILE__)))) . '/wp/'; とします。

以前のバージョンからの更新方法

1.30 以前からのアップグレード
サーバーの lightweight-google-maps ディレクトリー直下にある *.po, *.mo ファイルは使いませんので、削除しておいてください。言語リソースは lang フォルダに格納するようになりました。
1.00, 1.01 からのアップグレード
原則としてページテンプレートの修正は不要になりました。ページテンプレートから、以下のコードを削除しておいてください。
	<?php if (function_exists('lwgm_dropdown_cats')) {
		lwgm_dropdown_cats();
		lwgm_geocoding();
	} ?>
1.00 より前のバージョンからのアップグレード
1.00 より前のバージョンからのアップグレードは、以下の手順で行なってください。
  1. 念のため、本プラグインを無効にします。
  2. すべての php ファイル, mo ファイルを lightweight-google-maps ディレクトリーに転送してファイルを上書きします。googlemaps.php というファイルが残っている場合、必ず削除してください。
  3. プラグインを有効にします。もし、Lightweight Google Maps プラグインが2つ表示される場合は、googlemaps.php がまだ消されていません。削除してください。
  4. 古い設定値を引き継ぐため、管理画面で、プラグイン→ Google Maps のタブを選択します。Ver0.9.9.1 以降、固定の地図ページの設定値が「ページスラッグ」から「ページ ID」に変更されていますので、ここは必ず変更してください。
  5. 「設定を更新する」を実行します。これを実行しないと、Google Maps API キーが無効という警告が出ることがあります。
  6. Ver 0.8.0 以前をお使いで、テンプレートの「メインインデックス」に lwgm_button() または lwgm_each_map() 関数を記入していた場合、その周辺の記述を削除してください。注意深く削除しないと、テンプレートが PHP コンパイルエラーを起こしてしまい、画面が真っ白になってしまいますので、管理画面のテーマエディタではなく、テーマファイルを手元に FTP 等で転送して編集することをおすすめします。

プラグインの撤去

プラグインの使用を中止して、撤去するには以下の手順で行なってください。

  1. 管理画面の「Google Maps」で、一番下にある「オプション値をデフォルトに戻す」をクリックします。このとき、「位置情報もすべて削除」チェックボックスをオンにしていると、各投稿に記録された Lat_Long カスタムフィールドも同時に削除します。
  2. プラグインを無効にします。
  3. FTP ツール等で、wp-content/plugins から lightweight-google-maps ディレクトリーを丸ごと削除します。

使用方法

  • 位置情報を登録するには、投稿画面のカスタムフィールドの追加を行います。キー名は “Lat_Long” で、値は緯度・経度をコンマ区切りで繋げたものにします。 (例: 35.608797685462,139.56014977271)
  • Ktai Location プラグインを使えば、ケータイからの投稿時に位置情報を Lat_Long カスタムフィールドに格納することが可能です。
  • 位置情報が付与されている記事 (Lat_Long カスタムフィールドを持つ記事) の下に、ミニサイズの地図が表示されます。設定によっては、テキストでのリンクが表示されます。地図のマーカーまたはリンクをクリックすると、固定ページの地図にて、その地点を中心とした狭い範囲を表示します。
  • 記事に複数の位置情報があるときは、位置情報の件数だけ地図が複数表示されます。
  • 固定の地図ページを表示させたとき、まずは最近の位置情報100件読み込んでマーカーを打ちます。
  • 地図ページで、カテゴリーをプルダウンメニューから選ぶと、そのカテゴリーで投稿された記事の位置情報をすべて表示します。
  • 入力フィールドに住所やランドマーク名称、またはキーワードタグを入力して「表示」ボタンを押すと、その場所を中心とした比較的狭い範囲の地図を表示します。

制限事項

  • 携帯用地図のサイズは、横幅240px、縦幅320px が最大です。それより大きい値には設定できません。
  • K2 テーマを利用している場合、本プラグインはうまく動作しないかもしれません。古いバージョンの K2 では、テーマのスタイルシートが Google Maps に影響して地図が出ませんでした。できるだけ新しいバージョンの K2 をご利用ください。

Plug ‘n’ Play Google Map を利用していた場合の注意

  • Ver.0.9.9 以降、プラグインの設定値を Plug ‘n’ Play Google Map プラグインと共通にするのはやめました。ただし、管理画面では、Plug ‘n’ Play Google Map プラグインの設定値を読み込みます。「設定を更新する」ボタンを押すと、本プラグインの設定値として設定し、 Plug ‘n’ Play Google Map プラグインのオプションはすべて削除します (Use thumbnail など、当プラグインで使ってない機能のオプションも削除)。
  • 読み取る位置情報は Geo プラグインと非互換になりました (フォーマットはほぼ同一ですが;-)。また、Geo プラグインなしで動作するようになりました。
  • すべての地点をマークせず、表示対象の位置情報を限定するようにしました。
  • 利用するメモリーが少なくなるよう工夫しています。すべての地点を表示しないため、1000箇所以上の位置情報を持っていても、メモリー不足になることはありません。

改版履歴

ver 1.40 (2008-08-09)
  • WordPress 2.0.x に再び対応することにしました。
  • 携帯電話での地図表示は Mobile Eye+ にも対応しました。ただし、「この場所の地図」というテキストリンクになります。
  • Ktai Location 1.0.0 以降で導入した、Lat_Long フィールドの第3引数 (高さ) に対応しました。以前のバージョンは非対応のため、高さフィールドを持つ Lat_Long フィールドを認識しない場合がありました。
  • 衛星写真のみの表示を廃止し、地形図を表示できるようにしました。ただし、以前のバージョンで衛星写真の表示を設定している場合は、設定パネルで設定を変更しない限り、そのまま表示されます。
  • 独立の地図ページを開いたとき、最新地点のマーカーに対して情報ウィンドウが出るようにしました。また、投稿に出た地図のマーカーをクリックして独立の地図ページにジャンプしたときはその地点のマーカーに情報ウィンドウが出るようにしました。
  • 独立の地図ページにおいて、同一地点に複数の投稿があるときはタブウィンドウにして、マーカーが重ならないようにしました。ただし、微妙に位置情報がズレているときは、タブウィンドウにならずマーカーが重なってしまうことがあります。
  • 独立の地図ページにおいて、固定ページで設定した位置情報 (Lat_Long フィールド) を認識してマーカーが打たれるようになりました。従来は、地図ページで打たれるマーカーは、投稿で設定されたものだけでした。
  • 独立の地図ページで、カテゴリーの絞り込みメニューは、「表示」ボタンを廃止して、メニューを選択するだけで済むようにしました。
  • WordPress 2.6 以降で、wp-content/ ディレクトリーもしくは wp-content/plugins/ ディレクトリーを移設した場合に対応しました。lightweight-google-maps/wp-load.php の書き換えが必要です。
  • 各投稿に記録された Lat_Long カスタムフィールドをすべて削除する機能がつきました。プラグインの削除時などにご利用ください。
ver 1.30 (2008-07-12)
  • 固定ページの地図で、キーワードタグでの絞り込みに対応しました (WordPress 2.3 以降が必要)。
  • 携帯電話向け地図を出す機能は Ktai Style 1.42 以降が必要となりました (Ktai Style 1.41 以前では地図が出ません)。
  • WordPress 2.6 ベータ版への対応を盛り込みました。
  • 各エントリーの地図を「固定ページへのリンク」にしている場合、「この位置を大きい地図で見る」リンクが出力されない不具合を修正しました (バージョン 1.20 で発生した不具合)。
ver 1.21 (2008-03-23)
  • 携帯電話向け地図の大きさを設定できるようにしました。
  • 複数の位置情報を持つ投稿で、同じ地図がダブってしまう問題を修正しました。
ver 1.20 (2008-03-14)
  • Ktai Style 1.20 以後を利用している場合、携帯電話でも地図が出るようにしました。
  • WordPress 2.5 への対応を盛り込みました。
  • 設定画面の場所を、「プラグイン」タグから、「設定」または「各種設定」タブに戻しました。
ver 1.10 (2007-09-27)
  • WordPress 2.3 に対応しました。そのかわり、2.0.x 以前では動かなくなりました。
  • ページテンプレートを修正しなくても、カテゴリー絞り込みメニューと地名検索フィールドが表示されるようにしました。
  • 設定画面の場所を、オプション→Google Maps からプラグイン→Google Maps に移動しました。
ver 1.01 (2007-03-12)
  • WordPress のアドレス (get_settings(’siteurl’)) と、ウェブログのアドレス(get_settings(’home’)) が違う環境において、固定ページの地図でマーカーが出ないバグを修正しました。
ver 1.00 (2007-02-28)
  • 正式版としてリリース。
  • プラグイン本体のファイル名を lw_googlemaps.php に変更しました。
  • 固定の地図ページを表示させたとき、地図が描画されるタイミングを少し早くして体感速度を向上しました (描画完了までの時間は従来と変わりません)。
  • 固定の地図ページが XHTML の文法エラーになっていたのを修正しました。
  • プラグインが Ajax 的に利用する位置情報取得 API に KML 出力機能をつけました。詳細は付属の API 解説マニュアルを見てください。
ver 0.9.9.1 (2007-02-23)
  • パーマリンクを使わない場合、各記事の個別地図から固定の地図ページへのリンクが不正だった問題を修正しました。このため、管理画面では、固定の地図ページのスラッグではなくページ ID を入力させることにしました。
  • Shift_JIS 動作ウェブログのローカライズに対応しました。
ver 0.9.9 (2007-02-17)
  • EUC-JP 動作のウェブログでのローカライズに対応しました。
  • 住所やランドマークを指定して、その位置に移動する機能を追加しました。
  • カテゴリーでの絞り込みは、ページの再読み込みをせず Ajax 的な非同期な動作に変更しました。
  • オプション値を Plug ‘n’ Play Google Map と共通にするのをやめて、本プラグイン独自の設定値としました。管理画面で Plug ‘n’ Play Google Map の設定値を読み込んで本プラグインの値として設定できます。詳細は設置方法/アップグレード方法を参照ください。
  • 作者 URI を変更しました。
ver 0.9.8.1 (2007-02-13)
  • 固定の地図ページでは、位置情報マーカーの取り込みを Ajax 的な非同期な動作に変更しました。
  • 各記事のミニサイズ地図、およびミニサイズ地図からマーカーをクリックして表示される場所指定地図の拡大率を管理画面で指定できるようにしました。
  • 場所指定地図でにおける位置情報マーカーは、地図が見えている範囲ぎりぎりだけを抽出するようにしました (以前のバージョンでは、抽出する範囲の決定がアドホックな不正確な方法でした)。
  • 固定の地図ページでカテゴリー指定したときの拡大率は、すべての位置情報マーカーが入るような値を自動調整するようにしました。
ver 0.9.0 (2007-01-31)
  • 複数の位置情報に対応しました。各記事では、位置情報の数だけ地図を表示します。
  • 各記事へのミニサイズの地図は、テンプレートの修正なしに表示されるようにしました。
  • 緯度・経度を指定して固定ページの地図を表示させたとき (各記事のミニサイズの地図のマーカーをクリックしたときなど) の表示速度を改善しました。
ver 0.8.0 (2007-01-24)
  • PHP 5 専用予約語を削除して PHP 4.x 環境に配慮しました。
  • Map View ボタンではなくミニサイズの地図を表示する機能を追加しました。
  • Map View ボタンの同梱をやめました。
  • 配布サイトを WordPress Plugins/JSeries に変更しました。
ver 0.7.0 (2007-01-18)
  • 新規リリース。

作者のウェブログ記事