Lightweight Google Mapsタグの投稿

Google マッププラグイン Lightweight Google Maps 1.40 リリース
WordPress 用 Google Maps プラグイン「Lightweight Google Maps」のバージョン 1.40 正式版をリリースします。バージョン 1.30 からの変更点は以下の通りです。
- 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 カスタムフィールドをすべて削除する機能がつきました。プラグインの削除時などにご利用ください。
バージョン 1.40 はベータ版を4回出していましたが、ついに正式版としてリリースいたします。ベータ版その4からは、MobilePressNeo サポートの削除と、固定の地図ページでのデザイン調整です。MobilePressNeo を使っていると、PC から閲覧していた場合でも「この場所の地図」というテキストリンクになったり、固定の地図ページが出なかったりという問題があったため、対応をあきらめました。MobilePressNeo の場合、PC であっても「携帯閲覧である」と処理してしまったのが理由なので、判別をあきらめてすべて PC であると処理することにしました。その結果、携帯では地図が出ません。

Lightweight Google Maps 1.40 ベータ版(その4)
WordPress 用 Google Maps プラグイン「Lightweight Google Maps」のバージョン 1.40 ベータ版(その4)を配布いたします。ベータ版その3からの変更点は以下の通りです。
- 衛星写真の表示を廃止して地形図を表示できるようにしました。
- 同一地点に複数の記事があったときのタブ表示で、2,3,4,.. と最初の数字が2から始まっていた不具合を直しました。
Google マップのストリートビューに対応しようと調べてみたところ、地形図には簡単に対応できることは分かりました (以前は地形図に対応するための API が不明だった)。「地図+写真」があるので、衛星写真は廃止します。ストリートビューは試しに組み込んでみたものの、動作があまりにバギーなのであきらめました。バージョン 1.50 以降で対応を考えたいと思います。
このベータ版で問題なければ、そのままリリースとします。

Lightweight Google Maps 1.40 ベータ版(その3)
WordPress 用 Google Maps プラグイン「Lightweight Google Maps」のバージョン 1.40 ベータ版(その3)を配布いたします。1.30 より大きな変更を加えたため、ベータ版を配布して広くテストを募ることといたします。ベータ版その2からの変更点は以下の通りです。
- 地図ページでカテゴリーやタグで絞り込んだときでも、固定ページに登録した位置情報が出るように改善しました。
- ベータ版その2が PHP4 で動作しなかった問題の修正。
固定ページに登録した位置情報の扱いを改善しました。WordPress 2.5 以降では非常に素直な実装なのですが、WordPress 2.3 以前では、投稿とページの両方をカテゴリー・タグで絞り込むためには、SQL のクエリー文字列をいじるというアドホックな実装をせざるを得ませんでした。
今回のバージョンで様子を見て、問題なければバージョン 1.40 の正式リリースとします。

Lightweight Google Maps 1.40 ベータ版(その2)
WordPress 用 Google Maps プラグイン「Lightweight Google Maps」のバージョン 1.40 ベータ版(その2)を配布いたします。1.30 より大きな変更を加えたため、ベータ版を配布して広くテストを募ることといたします。ベータ版その1からの変更点は以下の通りです。
- Ktai Location 1.0.0 以降で導入した、Lat_Long フィールドの第3引数 (高さ) への対応が不十分だったため、再度修正しました。以前のバージョンおよびベータ版その1では、高さフィールドを持つ Lat_Long フィールドを認識しない場合がありました。
- 独立の地図ページを開いたときは最新の位置情報の情報ウィンドウが出るようにしました。また、投稿に出た地図のマーカーをクリックして独立の地図ページにジャンプしたときはその地点の情報ウィンドウが出るようにしました。
- ベータ版その1で、カテゴリーでの絞りこみ、キーワードタグでの絞り込みが動作していなかった不具合を修正しました。
2008-07-27 14:40 ごろ、軽微な不具合を修正した配布アーカイブに差し替えました。
→ベータ版(その3)をリリースしました。
独立の地図ページを出したとき、最新の位置情報に情報ウィンドウを出すようにしました。投稿についている地図をクリックして地図ページに飛んだときは、その地点の情報ウィンドウを出すようにしました。従来は何も出なかったため、マーカーが詰まっている場合、どれがどれやら分かりにくいという問題がありました。今回はそれが改善されています。

Lightweight Google Maps 1.40 ベータ版(その1)
WordPress 用 Google Maps プラグイン「Lightweight Google Maps」のバージョン 1.40 ベータ版(その1)を配布いたします。1.30 より大きな変更を加えたため、ベータ版を配布して広くテストを募ることといたします。
- WordPress 2.0.x に再び対応することにしました。
- 携帯電話での地図表示は Mobile Eye+, MobilePress にも対応しました。ただし、「この場所の地図」というテキストリンクになります。
- 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 カスタムフィールドをすべて削除する機能がつきました。プラグインの削除時などにご利用ください。
WordPress 2.0 対応の復活、携帯電話対応の強化、同一地点のタブウィンドウ化、固定ページに登録した地点の地図ページ表示、WordPress 2.6 対応などなど行なっています。「バージョン 2.0」とも言ってもよさそうですが、そこまで大きな機能強化だと思えないので、通常のマイナーバージョンアップとしておきます。
バージョン 2.0 を名乗るためには、Lat_Long フィールドの内容修正に Google 地図を使えるようにするとか、緯度・経度を指定して地図ページを出したときはスクロールしてもマーカーが出るようにする (現状は範囲外のマーカーは存在しない) とかの対応が必要だと思っています。

WordPress 2.6 対応続き
なんとか Ktai Style と Ktai Entry の WordPress 2.6 対応強化 (wp-content ディレクトリーの移設対応) を行ないました。Lightweight Google Maps (LWGM) および Weather Journal も同様の改良を行なっていますが、他に改善したい点があるため、リリースはもう少しお待ちください。
LWGM の方は、固定ページに登録した位置情報が大きい地図ページに出ないという問題・同じ地点に複数マーカーがつくと下にあるマーカーがクリックできない問題に手をつけようとしています。Weather Journal の方は、WordPress 2.5 以降で天気を未設定のまま投稿しようとすると、WordPress の JavaScript の所為で、直前に投稿した他の日の天気が入ってしまう問題が見つかっています。そういう挙動をキャンセルするよう JavaScript を追加する必要がありますが、どう実装すればいいか悩んでいるところです。
また、今回サボりましたが、管理機構の SSL 対応により、クッキーの扱いが変わったり、プラグインのありかを示す URL を取得する新しい API が用意されたりしたので、これを使うようプラグインを修正することも考えています。特に、Ktai Style は管理機能があるため対応は必須です。しかし、日本の携帯電話は、SSL でクッキーを使うときの挙動があやしいため、うまく実装できるかどうかは不安です……。
WordPress 2.6 対応とは違いますが、Ktai Location で「同一地点であるかの判定」が厳しすぎることが分かりました。7月19日に京都駅についたレポートで、本文に埋め込まれた GPS情報URL による位置情報と、写真の EXIF に埋め込まれた位置情報の両方の地図が出てしまっています。Ktai Location が抽出した位置情報が微妙に異なっていたわけですが、これは au 端末が写真の位置情報をもとに作った GPS情報URL の精度が悪いのか、Ktai Location の内部処理が悪くて計算結果が間違っているのか、要調査ですね。
[追記] LWGM ですが、バージョン 1.40 のベータ版を出しました。

Google Maps プラグイン Lightweight Google Maps 1.30 リリース
WordPress 用 Google Maps プラグイン「Lightweight Google Maps」のバージョン 1.30 をリリースします。変更点は以下の通りです。
- 固定ページの地図で、キーワードタグでの絞り込みに対応しました (WordPress 2.3 以降が必要)。
- 携帯電話向け地図を出す機能は Ktai Style 1.42 以降が必要となりました (Ktai Style 1.41 以前では地図が出ません)。
- WordPress 2.6 ベータ版への対応を盛り込みました。
- 各エントリーの地図を「固定ページへのリンク」にしている場合、「この位置を大きい地図で見る」リンクが出力されない不具合を修正しました (バージョン 1.20 で発生した不具合)。
今回は、Ktai Style バージョン 1.41 で地図が出なくなった問題の対応、WordPress 2.6 ベータ版への対応がメインです。おまけとしてキーワードタグでの絞り込みにも対応しています。
[追記] 固定ページの大きい地図で出てくるマーカーは、投稿に付与した Lat_Long フィールドのものに限られてしまうという制約はそのままです。(地図表示以外の) 固定ページで Lat_Long フィールドを入れた場合、そのページで小さい地図は出ますが、地図ページではその地点のマーカーが出てきません。これはちょっと不可思議な動作になってしまうので、今後のバージョンでは直す予定です。

Yuriko.Net で使用しているプラグイン
Masayan さんところで「もし今、WordPressのプラグインフォルダに10個のプラグインしか追加できないとしたら、最低限何を入れますか?」というトラックバック企画が行なわれていますので、乗っかってみましょう。当サイトで使用しているプラグインは、一応自己紹介に書いてある通りならば「7つ」(Akismet, WP-Multibyte-Patch 除く) ですが、実はそこから微妙に増えていて12個になってしまいました。
ということで、そこから優先度の低いものを削ると以下の通りでしょうか。
- Edit Comments XT (Wöhrer 氏作)
- 非ログインユーザーがコメント投稿した場合でも、ユーザー自身が一定時間だけ編集可能とする。
- EventCal (自作・未公開)
- サイドバーのイベントカレンダー。日本の祝日対応
- Force Wave Dash (自作)
- Windows 環境で入力した「全角チルダ」を「波ダッシュ」に補正。
- Ktai Entry (自作)
- メール投稿 (モブログ)
- Ktai Style (自作)
- 携帯電話対応。軽量なページを表示・簡易的な管理機構を提供。
- Reject Short Comments (自作)
- スパムコメント/トラックバック対策。短いコメントやトラックバックを拒否。
- Weather Journal (自作)
- 日付の横に自分で入力したお天気を表示。
- WordPress.com Stats (Skelton 氏作)
- WordPress.com のアクセス統計機能を自分のサイトで使えるようにする。
- Ynet Permalink (自作・未公開)
- 以前の Yuriko.Net におけるパーマリンク体系 (/arc/YYYY/mm/ddX) を実現。
旅行記の方では位置情報と地図が必須なので、拙作のKtai Location および Lightweight Google Maps が追加になります。そのかわり、Ynet Permalink は不要になるため、都合10個に収まります。
同じく拙作の JSeries Notifier ですが、自サイトでは常に最新版が入っているので使う必要がありません。また、サイドバーでアーカイブを年ごとに折り畳む処理は、テーマファイルの functions.php で自作関数 (未公開) を書いているため「プラグインの個数」の制約にはひっかかりません
スパム軽減プラグインのNonce! Please も、テーマの comments.php や functions.php に押し込めることが可能なので、必須プラグインからは外れます。
WordPress 導入以前の Yuriko.Net の見た目・機能を実現するための自作単機能プラグインが多く、他人さんのプラグインは非常に少ないです。これは、「既存のプラグインに満足できるものが少ない」「他人のコードが信用できない」「自分でプラグインを作るのが楽しい」という理由もあります。2番目の理由は結構深刻で、セキュリティーに無頓着なプラグインが結構あるんですよね……。以前、旅行記では「Plug’n Play Google Map」を使っていましたが、地点数が増えると PHP メモリー不足になることと、XSS 脆弱性があったことで、「人気があるプラグインでも信用ならない」ことが分かってしまいました。作者にセキュリティーホールを報告しても梨のつぶてで、これが「自分でプラグインを書く」きっかけとなり、他人のプラグインを入れるのは慎重になりました。
といっても、Edit Comments XT, WordPress.com Stats については、セキュリティーホールがないことのチェックはサボっていますが
[追記] しまった。旅行記の方では「Change Thumbnail Max Side Length」も必須でした (WordPress コア改造で逃げるか、テーマの functions.php に移設する手もありますが)。そのままだと11個になってしまうので、WordPress.com Stats を外すことにします。

Ktai Style 1.41 で Google 地図が出ない
先日リリースした Ktai Style 1.41 ですが、拙作のLightweight Google Maps (LWGM) と互換性がなく、携帯電話表示で地図が出ないという問題があることが分かりました。「mobile_same_url 用のフィルター関数を携帯テーマの functions.php に書ける」ようにするため、携帯テーマ用関数を定義する tags.php を読み込ませるタイミングを遅らせたのですが、LWGM の初期化段階で tags.php の関数を使っていたたため、結果として LWGM が Ktai Style を認識できなくなり、地図を出さなくなっていたのでした。
WordPress 2.6 対応のため LWGM のアップデートが必要だったのですが、これでは急いで直す必要があります。さほど大きい変更ではないはずなので、簡単にテストして今週中には出すようにしましょう。
[追記] バージョン 1.30 にて修正いたしました。なお、Ktai Style もバージョン 1.42 以降にアップデートすることが必要です。

その他のハック予定
Ktai Style 以外のプラグインについても、WordPress 2.5 対応を含めた修正が必要ですね。
- JSeries Notifier
- 現状では、WordPress 2.5 で更新通知が英語メッセージになるという問題があるため、修正が必要です。自動アップデートに対応していないプラグインがありそうですが、「自動アップデートしますか」の文言も出してしまいましょうか。
- Lightweight Google Maps
- 固定ページで位置情報を付与した場合、地図ページでマーカーが出るようにする対応/同じ地点で複数のマーカーがある場合タブ付き吹き出しを使う対応/Lat_Long カスタムフィールドの数値修正に地図を使えるようにする対応 (現状、別途 Google Maps を出して緯度経度を測るしかない)、などを考えています。
- wp-mta
- wp-shot と統合させた新プラグインにする予定ですが、開発がまったく進んでいません。wp-shot はインストールと設定が少々ややこしいですが、新プラグインはかなり簡略化される予定です。メール取り込み用メールボックスとして Gmail を推奨予定ですが、この場合は携帯絵文字にも対応できそうですね。「メール投稿でも絵文字が使える」となると、かなりのアドバンテージになる??
- Ktai Location
- イー・モバイル H11T に対応して「バージョン 1.00」にするつもりでしたが、GPS 機能が貧弱で、メールで地図 URL を送ったり写真の EXIF に GPS 情報を埋め込んだりできないので、対応不可。現行バージョンのままでよさそう。
- KtaiLoc2Otenki
- 初期バージョン 0.7.0 が非常に安定しているようですが、実はアップグレードを検討しています。XML の解析方法を泥臭い方法 (wp-eznavi から引き継いだコード) にしていますが、wp-otenki では miniXML を使っているため、同じ方法を採用しようかと思っています。当プラグインは wp-otenki との連携が必須なため、wp-otenki に同梱されている miniXML を使えばいいし。
- Weather Journal
- WordPress 2.5 において、少し問題があるため修正が必要です。編集画面に挿入した天気フィールドの見た目が WP2.5 に適合したものではないこと、新しい日付の投稿を作ったとき、天気が「(設定なし)」にならず、晴れとかくもりとか適当な天気になってしまうこと、が問題です。
- その他
- Yuriko.Net の WordPress 2.5 化に際して開発したプラグインも、ドキュメントを整備して公開するか検討しています。パーマリンクを完全にカスタマイズするプラグインは、他のウェブログからの移行や、CMS としての利用に有用かもしれませんし。
[追記 2008-04-06] Weather Journal について言及してなかったので、追加しました。


上に戻る