NP_MyGoogleMaps
NP_GoogleMapsは、Google Maps上の位置情報とブログの記事とをリンクさせ、Google Mapsからブログ記事を表示するという機能を提供する、Nucleusのプラグインです。
単一の地図上に複数の位置情報を表示させることができますので、ある記事が参照している位置情報のみならず、それに近い別の位置情報に関連する記事を、地図から参照することができるようになります。
このプラグインの特徴
位置情報はDBに格納しますので、複数の記事から参照できます。
登録された位置情報は、ポインタとして地図上に表示されます。
ポインタをクリックすると、その位置情報の詳細が表示されます (非同期処理)。
位置情報を参照するブログ記事がある場合、その記事へのリンクも表示されます。
→ これにより、記事とブログの双方向のリンクが生成されます。
→ これにより、位置情報間に緩い関連が生成されます。
→ これにより、他ブログとの情報が連携します。
結果、記事と位置、位置と位置、記事と記事、ブログとブログが有機的にリンクされます。
地図はポップアップウィンドウで表示されます。
地図ウィンドウを一つ開くと、以降は同じウィンドウを使い回します。
別の位置情報を開く場合でも、ウィンドウをリロードしません。
ポップアップウィンドウのサイズを編集画面で設定できます。
位置情報の編集画面もポップアップで表示されます。
プラグインの管理画面からも位置情報を編集できます。
シンプルな入力値チェックを実装しています。
インストール方法
[配布ファイル内 /mygooglemaps/help.html より]
zipを展開します。
NP_MyGoogleMaps.phpを、Nucleusのnucleus/pluginsディレクトリにコピーします。
同様に、mygooglemapsディレクトリを中のファイルごと、nucleus/pluginsディレクトリにコピーします。
Google Maps
API Keyを取得します。
Nucleusのプラグイン管理画面から、MyGoogleMapsプラグインをインストールします。
MyGoogleMapsの編集画面から、API Keyを登録します。
各スキンのタイプの<head> ~ </head>内(skinで読み込むhead.inc等に含まれている場合もあります)に、
<%MyGoogleMaps(script,,)%>
と挿入して下さい。
このプラグインの使い方
位置情報の登録
位置情報は、Nucleusのプラグイン管理画面から登録できます。
入力支援のリンクから地図を別ウィンドウで開けます。この地図上の中心の座標が、メインウィンドウのフォームに自動的に反映されます。名称や簡単な説明などの項目を入力し、登録して下さい。
登録済みのポインタを選択後、フォームの値を変更することで更新できます。
画像を登録する場合、画像のサイズも登録できます。フォームから画像のサイズを入力せずに登録した場合は、自動的に画像のサイズを取得します。
記事からのリンク作成
ブログの記事本文中に
<%MyGoogleMaps(位置ID,リンク文字列,ズームレベル)%>
と入力することで、地図へのリンクを作成します。
位置IDには、DBに登録済みの位置のIDを指定します。
存在しない位置IDを指定した場合の挙動は不定です(現時点での実装では日本全体が表示されます)。
ズームレベルには 0 (最大ズームイン)から 17 (最大ズームアウト)の数字を指定します。指定しない場合は、デフォルトとしてズームレベル 5 を利用します。
スキンへの記述
<%MyGoogleMaps(タイプ,リンク文字列,位置ID)%>
パラメータ(引数)の説明
タイプ | edit(編集) | view(閲覧) | script(スクリプト) | list(マーカ一覧) |
リンク文字列 | 表示するリンクテキスト | - | new:マーカ最新順
old:マーカ古い順
link:リンク記事の最新順 |
位置ID | DBに登録済みの位置のID | - | リンク表示件数(0で全件表示) |
タイプ別動作の詳細
位置情報を編集できます。現状、UIがイケていません。将来的にはこのモードを削除し、管理画面のみに移行する可能性があります。ログインユーザのみ、編集モードを利用できます。
地図が別ウィンドウで表示されます。地図上のマーカをクリックして表示される情報ウィンドウのリンクをクリックすると、メインウィンドウがそのURLに遷移します。
メインウィンドウ(ブログを表示するウィンドウ)用のスクリプトを出力します。インストール手順にある通り、skinファイルのhead.incに挿入するなどして下さい。
ページ上にマーカーへのリンク一覧を表示します。
cssへの記述
生成されるリンク(a要素)には、class属性として "mygooglemaps" が指定されています。必要に応じて、以下のようにCSSファイルを編集して下さい。
.contentbody a.mygooglemaps:link, .contentbody a.mygooglemaps:visited {
background-color: #bbffcc;
}
バージョンアップ方法
[配布ファイル内 /mygooglemaps/help.html より]
MyGoogleMapsプラグインの編集画面で、プラグインの削除時にテーブルを削除しないよう設定します。
同画面からGoogle Maps
API Keyをコピーして、別のファイル等にバックアップします。
プラグイン管理画面から、MyGoogleMapsプラグインを削除します。
展開したzipにあるNP_MyGoogleMaps.phpとmygooglemapsディレクトリ、およびその中にあるファイルで既存のファイルを上書きします。
プラグイン管理画面から、MyGoogleMapsプラグインをインストールします。
MyGoogleMapsプラグインの編集画面で、バックアップしておいたGoogle Maps
API Keyを登録して下さい。
必要に応じて、MyGoogleMapsプラグインの管理画面からALTER TABLEを実行して下さい。リンクをクリックするだけでALTER TABLEが実行されます。ただし、Nucleusが利用するMySQLユーザにALTER権限がない場合、これらのALTER TABLE文は実行されません。リンクの文字列をコピペして、ALTER権限のあるMySQLユーザでコマンドライン等から実行して下さい。
アンインストール方法
[配布ファイル内 /mygooglemaps/help.html より]
head.incやsidebar.incなどでの、MyGoogleMapsスキン変数の呼び出しを削除して下さい。
ブログ記事の本文から、MyGoogleMapsタグを削除して下さい。
MyGoogleMapsプラグインの編集画面で、テーブルを削除するかどうか設定して下さい。
同画面から、必要に応じてGoogle Maps
API Keyをバックアップして下さい。
プラグインの管理画面から、MyGoogleMapsプラグインを削除して下さい。
nucleus/pluginsディレクトリから、NP_MyGoogleMaps.phpとmygooglemapsディレクトリ、およびmygooglemapsディレクトリ内のファイルをすべて削除して下さい。
以上で完了です。テーブルを削除すると位置情報はすべて失われます。ご注意下さい。
開発履歴
-
マーカの一覧表示機能を追加。
ズームレベル指定機能を追加(0.8→0.81)。
バグフィックス(0.81→0.82)。
-
-
画像の表示サイズの指定機能追加。
JavaScriptグローバル変数にプレフィックス mygmap_ を追加。
画像サイズを指定しない場合に登録/更新がされないバグ修正(0.6→0.61)。
$PREFIX_gmap_loc_itemテーブルのCREATE文を修正(0.61→0.62)。
-
-
-
-
削除フラグの挙動を実装。
地図ウィンドウの使い回し。
IEで利用できないDOMのプロパティの見直し。
-
-
同類のプラグイン