Ktai Locationタグの投稿
2008-08-06
携帯電話の位置情報活用プラグイン「Ktai Location」のバージョン1.0.3 をリリースしました。GPS 等の位置情報を WordPress ウェブログに簡単に取り込むことができます。1.0.2 からの変更点は以下の通りです。
- 位置情報同一である条件を「小数点以下5ケタ目で四捨五入した結果が一致する」に緩和しました。
- Ktai Location 1.0.0 以降で、位置情報に高さ情報がないのに、Lat_Long フィールドに2つめのコンマを付けてしまっていた問題を修正しました。Lightiweight Google Maps の 1.30 以前で、緯度経度を指定して地図を表示したとき、このような Lat_Long フィールドを認識しない問題があります。
1.0.0 からの新機能である高さフィールドの付与で問題がありました。なんと、高さ情報がなくてもコンマを付けてしまっていたのです (「35.688344444444,139.70014166667,」のような感じ)。ほとんどの場合問題がないのですが、Lightiweight Google Maps のバージョン 1.3.0 以前で、緯度・経度を指定して地図を表示させたとき (投稿に表示される小さい地図のマーカーをクリックして大きい地図にジャンプしたとき等) では、そういう Lat_Long フィールドが出ない不具合がありました。Lightiweight Google Maps の方を修正すべき問題ですが、旧バージョンを使う人のために Ktai Location の方を直すことにしました。すでに余分なコンマがついてしまっている場合、phpMyAdmin ないし mysql コマンドラインで以下の SQL を実行してください (wp_ の接頭辞は適時変更してください)。
UPDATE wp_postmeta SET meta_value = SUBSTRING_INDEX(meta_value, ',', 2)
WHERE meta_key = 'Lat_Long' AND SUBSTRING(meta_value, -1, 1) = ',';
2008-07-21
なんとか 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 のベータ版を出しました。
2008-06-15
携帯電話の位置情報活用プラグイン「Ktai Location」のバージョン1.0.2 をリリースしました。GPS 等の位置情報を WordPress ウェブログに簡単に取り込むことができます。1.0.1 からの変更点は以下の通りです。
- Ktai Location 1.0.1 において、Yahoo! 地図情報の地図 URL のフォーマットが小数点表記の場合を認識しなくなっていた不具合を修正しました。(Ktai Location 1.0.1 のみ存在するバグ)
今回は 1.0.1 で作り込んでしまったバグの修正です。Yahoo! 地図情報で地図を移動させない場合もテストしたつもりだったのですが、どうやらテストが漏れていたようです。申し訳ありません。
2008-06-14

本日の、東京地下鉄副都心線初乗りレポートを実施していて、Ktai Entry および Ktai Location にバグがあることが判明しました。申し訳ありません。
Ktai Entry の方は、投稿スラッグが時分秒を繋げた6ケタの数字にならず「003328」という固定の数字になってしまうというものです。複数回投稿すると、追番がついて「003328-2」などとなります。Ktai Location の方は、Yahoo! 地図情報の緯度・経度が小数点フォーマットの場合に認識されないというものです。どちらも以前は正常動作していたもので、機能アップやバグフィックスした際にエンバグしてしまったものです。非常に情けない……。
投稿スラッグについては、テスト時に見落してました。今日は1日で何通も投稿したため、スラッグが変だぞと一発で分かったのですが、テストは1通しかしてなかったので、一見問題ないように見えたのでした。
Yahoo! の方は、以前から存在する dms2deg() 関数にあったバグが、今回発覚したというものです。この関数は、度分秒フォーマットを小数点フォーマットに変換するものですが、小数点フォーマットを与えた場合はそのまま戻ってくるという仕様のはずでした。そのため、Yahoo! 地図情報では、度分秒フォーマットか小数点フォーマットかを気にせずにどちらの場合でも関数を通せばよいはずでした。しかし、実際にはバグのため小数点フォーマットを与えると false が戻ってしまったのです。他の地図 URL の場合は、「必ず度分秒フォーマットが来る」ことが決まっているのでバグが露呈しなかったのです。とはいえ、ソースコードをよく見たら一発で分かる類いのものです。ソースコードレビューがおざなりになっていたわけですね……。
これらの不具合は近日中に直して修正版を出したいと思います。なんか、最近はエンバグすることが多くて迷惑をおかけしています。もうちょっと品質保証体制を整えないといけませんね。
[追記 2008-06-15] Ktai Location は修正版を出しました。Ktai Entry は他に直したいところがあるため、もうしばらくお待ちください。
[追記 2008-06-18] Ktai Entry の修正版も出しました。今回のバグ以外にも気になる点が多かったため、だいぶいじっています。かなり安定しているはずです。
2008-06-11
携帯電話の位置情報活用プラグイン「Ktai Location」のバージョン1.0.1 をリリースしました。GPS 等の位置情報を WordPress ウェブログに簡単に取り込むことができます。1.0.0 からの変更点は以下の通りです。
- Yahoo! 地図情報で、地図 URL のフォーマットが度分秒表記の場合に対応しました。詳細地図を出したり地図をスクロールさせた場合に度分秒表記になってしまうため、前バージョンでは位置情報が読めませんでした。
- ソフトバンク携帯電話で MapFan の地図 URL (http://v.mapfan.com/…) およびゼンリンいつもナビの地図 URL (http://v.itsu-mo.com/…) に対応しました。
- ゼンリンいつもナビ PC 版から携帯にメールで地図 URL を送る場合のフォーマット(http://mobile.its-mo.com/p1?128219829-502437693-6) に対応しました。
今回は対応フォーマットの追加です。Yahoo! 地図情報は、測位した直後は緯度・経度が小数点表記なのですが、詳細地図を出したり移動させたりすると度・分・秒表記になってしまいますが、従来は後者のフォーマットに対応しておらず位置情報が読めませんでした。
今後も対応フォーマットを増やしたいところですが、実際のところ、ドコモでは docomo.ne.jp の地図 URL が標準で、au は walk.eznavi.jp が標準、ソフトバンクは Yahoo! 地図情報が事実上標準的な存在なため、他の地図サービスの URL に対応する必然性はもはやないんですよね……。ウィルコム対応が遅れていますが、多くの端末が「現在見ているページの URL をメールする機能」を持たないため、地図サービス側で「今見ている地図をメールする」という機能を持ってない限り対応できません。一番いいのは、さっさと GPS 搭載してもらって、写真に位置情報を埋め込む機能が使えるようになればいいのですが。
2008-06-05
携帯電話の位置情報活用プラグイン「Ktai Location」の正式版である1.0.0 をリリースしました。GPS 等の位置情報を WordPress ウェブログに簡単に取り込むことができます。0.99 からの変更点は以下の通りです。
- Yahoo! 地図情報、駅探★乗換案内、マップル地図ナビ乗換、ちず丸の地図 URL に対応しました。
- JPEG 画像に貼り込んだ GPS 位置情報が高さ (altitude) を含む場合、これも Lat_Long フィールドの第3引数として保存するようにしました。
- 使い方で、ソフトバンク GPS なし端末および、イー・モバイル音声端末 (S11HT, H11T) の場合の使い方を追記しました。
- Ktai Entry と併用したとき、位置情報 URL を div 要素で囲んだ部分が XHTML 文法違反になってしまう不具合を修正しました。なお、以前の投稿はそのままですので、手作業で修正願います。div 要素の直後や中に p 要素の閉じタグ (</p>) があれば、それを div 要素の直前に持っていけばよいです。
Ktai Location もやっと正式版となりました。0.99 の時点でほぼ完成と思っていましたが、そこから対応する地図 URL を大幅に追加して、より汎用的なプラグインとなりました。特に、Yahoo! 地図への対応はソフトバンクユーザーに便利なものだと思います。
ネックといえば、”Lat_Long” フィールドが特殊である点です。他のプラグインでも使ってもらえるように、このフィールドを標準化するべく活動したいですね。フォーマットの拡張案も頂いているので、これも検討してみたいと思います。
2008-05-21
携帯電話の位置情報活用プラグイン「Ktai Location」の正式版に向けて 1.0.0-beta1 (ベータ版その1) をリリースしました。GPS 等の位置情報を WordPress ウェブログに簡単に取り込むことができます。0.99 からの変更点は以下の通りです。
- Yahoo! 地図情報、駅探★乗換案内、マップル地図ナビ乗換、ちず丸の地図 URL に対応しました。
- JPEG 画像に貼り込んだ GPS 位置情報が高さ (altitude) を含む場合、これも Lat_Long フィールドの第3引数として保存するようにしました。
- 使い方で、ソフトバンク GPS なし端末および、イー・モバイル音声端末 (S11HT, H11T) の場合の使い方を追記しました。
- Ktai Entry と併用したとき、位置情報 URL を div 要素で囲んだ部分が XHTML 文法違反になってしまう不具合を修正しました。なお、以前の投稿はそのままですので、手作業で修正願います。
今回は、0.99 から対応する地図 URL を大幅に追加しています。このため、急に正式版とする前にベータ版を提供して、広くテストして頂こうと思っています。
写真に GPS 情報を埋め込むスタイルで運用している場合は、ほとんど変化はありません。しかし、地図 URL を活用している場合は多少動作が違いますので、不具合があるかもしれませんので、ご了承ください。
2008-05-20
Ktai Location では、各種地図サービスの 地図 URL に対応していますが、さきほどチェックしてみると、iモード向けの駅探・乗換案内とマップル地図ナビ乗り換えも、地図 URL に緯度・経度が出るようになっていました。逆に、ゼンリン地図ナビ (http://i.i.zenrin.co.jp/MapToLink/p1?… という URL) は、緯度経度がそのまま出なくなったため、非対応になりました。(追記: 3600 で割れば緯度・経度になることが判明したため、利用可能とします)
こうなると、テストをやり直さないといけないため、次のリリースを 1.0.0 にするのは無理ですね……。やはり 0.991 にせざるを得ないようです。また、ソフトバンク向け地図サービスの URL も要確認ですね。衝動買いした SoftBank 3G 端末 は GPS 非対応ですが、地図サービス自体は使えると思いますので、調査してみたいと思います。
[追記] ALPS を合併したためか、モバイル Yahoo! 地図情報が強化されていました。「この地図を友だちに教える」機能では緯度・経度が出ませんが、地図を表示させているページの URL には含まれているので、端末の機能として閲覧中ページの URL をメール送信すれば、位置情報 URL が取得できます。
Yahoo! まで対応するとなると、0.001 のバージョンアップとは言い難いので、きっちりテストしてバージョン 1.0.0 としたいと思います。
2008-05-17

Ktai Entry と Ktai Location を併用すると、Invalid な XHTML 出力になってしまうことが分かりました。例えば、「今度は入場時タッチ不良でエラー」という記事を Markup Validation Service で検査させてみると、「p 要素が始まってないのに終了タグがある」などのエラーになります。
これは、Ktai Entry の投稿テンプレートと、Ktai Location が位置情報 URL を div 要素で囲む処理の相性が悪く、WordPress の XHTML 整形処理が正しく機能しなくなってしまうためです。投稿テンプレートは以下のように本文を p 要素で囲むようにしています。
<div class="photo">{images}</div>
<p>{text}</p>
<div class="photo-end"> </div>
で、本文に位置情報 URL があると、Ktai Location は locationurl というクラスで div ブロック化します。
<div class="photo">(画像)</div>
<p>(本文)
<div class="locationurl">(位置情報URL)</div>
</p>
<div class="photo-end"> </div>
これを WordPress は以下のように整形してしまいます。本文の直後に p 要素の閉じタグを入れるのです。このため、最初にあった p 要素閉じタグが浮いてしまうわけです。
<div class="photo">(画像)</div>
<p>(本文)</p>
<div class="locationurl">(位置情報URL)</div>
</p>
<div class="photo-end"> </div>
けっきょくのところ、p 要素の中に div 要素を入れてしまうのが不正なので、これは Ktai Location の処理が悪いわけですね。もしくは、Ktai Entry のテンプレートを変更して、本文を p 要素で囲まないようにしても OK です。wp-mta が生成する XHTML はそうなっていました。しかし、この場合、縦横の写真が混ざったときのレンダリングが変になってしまうため、Ktai Entry では本文を p で囲む処理としました。
つまり、Ktai Location の div 要素囲み処理を改善して、p 要素の外に出してやればいいわけです。どうせ class=”locationurl の部分は CSS で display:none となるので、位置をずらしても問題ありません。これは Ktai Location のバグフィックスとしたいと思います。現在のバージョンが 0.99 なので、ついに 1.00 とするか、0.991 と逃げるか……。
[追記] バージョンは 0.991 として、CVS に改良版をコミットしました。手元のテストでは動作良好ですが、これから生田緑地ばら苑見学で実テストする予定です。
[さらに追記] 実地テストはダメでした。今度は div 要素に </p> が入ってしまっていました。地図 URL として認識する部分に HTML タグ要素が入らないように修正してコミットしました。
2008-04-29
携帯電話の位置情報活用プラグイン「Ktai Location」のバージョン 0.99 をリリースしました。GPS 等の位置情報を WordPress ウェブログに簡単に取り込むことができます。変更点は以下の通りです。
- “Lat_Long” フィールドが存在しない場合は、投稿の編集時にも位置情報を読み取るようにしました。(従来は隠し機能でした)
- Ktai Style, Mobile Eye+ で閲覧したときは、位置情報 URL を削除するようにしました。(ただし、Ktai Style にはすでに同機能が実装されています)
- Ktai Entry, MobG, wp-mb_mail でメール投稿した場合、写真の GPS 位置情報が読み取られないことがある不具合を修正しました。
今回は、メール投稿ツールとの親和性を図っています。多くのツールで写真に埋め込んだ GPS 情報が利用できるかと思います。今まで、wp-mta と併用するのが前提だったため、他のツールで上手く動かない可能性に気がつきませんでした……。いやはや。
投稿内容から位置情報を読み取る拙作プラグイン「Ktai Location」ですが、添付写真の EXIF から GPS 位置情報を読み取る機能が Ktai Entry と相性が悪いことが分かりました。
wp-mta や wp-shot では、挿入した画像の href 属性や src 属性の引用符はダブルクォート (”)だったのですが、Ktai Entry では WordPress の Attachment API を使うため、WordPress のバージョンによっては、シングルクォート (’) を使います。しかし、Ktai Location はダブルクォートしか想定してなくて、画像を認識しないのです。
Ktai Entry で位置情報が挿入されなかったのは、Ktai Entry の作りが悪いのかと思っていたのですが、それを直しても改善しませんでした。Ktai Location の方が悪いとは……。こりゃ久々にアップデートが必要ですね。Ktai Entry と同時リリースかな。
[追記] 問題を修正した Ktai Location 0.99 のリリースおよびKtai Entry 0.71 のリリースを行いました。
2008-04-04

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 について言及してなかったので、追加しました。
2007-08-12
WordPress 用プラグイン「Ktai Location」のバージョン 0.98 をリリースしました。携帯電話等の位置情報を WordPress ウェブログに簡単に取り込む機能を追加するプラグインです。ダウンロードはリンク先の配布サイトから行えます。
今回は、電子メールで頂いた要望である「ここです!メール」への対応追加と、バグフィックス1点を行なっています。Line 110 の修正ですが、非常に情けないバグであることが分かります;-)
[追記] バージョン 0.99 をリリースいたしました。
2007-03-13
WordPress 用プラグイン「Ktai Location」のバージョン 0.97 および「Force Wave Dash」のバージョン 0.72 をリリースしました。ダウンロードはリンク先の配布サイトから行えます。
前者は、携帯電話等の位置情報を WordPress ウェブログに簡単に取り込む機能を追加します。後者は、「波ダッシュ問題」を解決するプラグインです。詳細な説明は配布サイトを参照してください。
今回のバージョンはともに、「Ktai Location は WordPress 2.1.2 でバグる?」「Ktai Location は ME 版だけバグる?」のバグを修正したものです。原因は、プラグインで投稿本文を修正した際、投稿キャッシュを更新していなかったからでした。プラグインが投稿本文を読み取るのは get_post() 関数を使っていますが、内部的に投稿キャッシュを使っています。投稿キャッシュを更新しなかったことで、後で実行されたプラグイン (Force Wave Dash) が古い本文 (==位置情報 URL を消す前) を参照してしまったのでした。
本文をいじってデーターベースに登録するとき、同時に投稿キャッシュもアップデートすることで、問題なく動作するようになりました。
2007-03-09
旅行ウェブログで、携帯電話の位置情報が丸見えになってしまうバグは、修正したつもりでしたが、実は直ってなかったようです。今日からのリアルタイム旅行レポートでも再発しています。
位置情報は登録されているので、位置情報 URL を隠す処理をした投稿文をデーターベースに上書きする処理ができてないわけです。
「正常動作した」と思ったのは、別に動かしているテスト用サイトで、これは WordPress 本家版の 2.1.2 での確認でした。RSS/Atom フィード以外は本家版と ME 版とでほとんど違いがないはずですが、ME 版だけうまく動かないのは謎です……。
手元の MacBook に WordPress ME 2.1.2 をインストールしてテストしてみたところ現象が確認できたので、ローカルでバグ取りができるわけで、時間の合間を見てバグ取り作業をやってみます。
[追記 2007-03-10 13:45] いろいろ試してみたところ、拙作の「Force Wave Dash」が原因ぽいです。これを無効にしてやると、本家版、ME 版ともに位置情報 URL は隠されます。逆に、有効にしてみると、本家版でも位置情報 URL が残ってしまいます。つまり、Force Wave Dash をいじれば直るかも。
2007-03-05
WordPress ウェブログで、記事に携帯電話等の位置情報を埋め込めるプラグイン「Ktai Location」のバージョン 0.96 をリリースしました。ダウンロードは上記リンクの配布サイトから行ってください。
今回は、位置情報 URL の扱いにバグがあったのを修正しています。昨日の不具合を修正しようとソースをじっくり見ていると発見したものです。
これでしばらく運用して問題がなければ、そのままバージョン 1.00 とする予定です。