wp-googlemaps TODO その1
2006/10/18 水曜日 - 16:14:53 by webmaster投稿画面に地図を表示させてgeocodeさせた位置の微調整が出来るようになった。
markerをdraggableにして、dragendイベントで位置情報を書き戻してOK。
いろいろ出来るようになってるんだよなぁ。このAPI。
投稿画面に地図を表示させてgeocodeさせた位置の微調整が出来るようになった。
markerをdraggableにして、dragendイベントで位置情報を書き戻してOK。
いろいろ出来るようになってるんだよなぁ。このAPI。
wp-googlemapsでやりたいこと
geocodingするのでポイントの修正が必要な場合あり⇒投稿時に地図表示してポイント修正できるように
スタイル項目をオプション設定項目に
サイト内グローバルマップ表示機能を⇒トップページなどで地図からのナビゲートを可能にしたい
カテゴリ別の表示とかも出来たほうがいいかも。
この辺まで実装したいなぁ。
何が原因なのかいろいろ調べて、呼び出し方法とかも変えてみたけど結局原因はこれだった。
Google Maps APIと文字コード
だからIEは嫌いだ。<それを八つ当たりというのでは?
イメージが添付されてたらそれをひっぱってくる機能をつけてみた。
まだ添付ファイルが画像かどうかのチェックはしてないので機能だけのテスト。
wp-googlemapsプラグイン動作テスト中。
コメントタグで
<!– googlemaps:{loc:”新宿駅”} –>
と書くと、書式がマッチすればリアルタイムでgeocodeして、緯度・経度情報を付加。
<!– googlemaps:{loc:”新宿駅”, lat:35.689729, lng:139.700464} –>
この情報は専用キーでmeta情報として登録するので、ブログ内の他記事の位置情報も取得し、同一地図上に表示させる。
この後、細かい設定項目を追加予定。
記事投稿時にgeocodingさせようと思っていろいろやってみたけれど、問題の回避方法が見つからない。
1. 記事投稿(フォーム送信ボタンをクリック)
↓
2. onsubmitイベントで処理開始
↓
3. geocodingして記事中の住所文字列に緯度経度情報を追加
↓
4. フォーム送信
という流れで処理をしたいのだけれど、
submitイベントを生かしておくとgoogleからの非同期通信が完了する前にフォーム送信されてしまうし、
イベントをキャンセル(preventDefault)してしまうとこんどは変換後のフォーム送信が出来ない。
うまい方法は無いのだろうか?
とりあえずの逃げとして、記事入力中にkeyupイベントで即時変換をかけたけれど。
記事中のコメントタグから住所を抽出してgooglemapで表示させるだけなら簡単に出来るのだけれど、どうせなら他の記事中のポイントも併せて表示したい。(そっちの方がいろんな使い方が出来そう。)
どのタイミングでgeocodingさせるかが悩みどころ。
地図表示時に登録済みの全住所を投げるのはスマートじゃないと思うので、出来れば投稿時にgeocodingまで済ませたいけれど、どう処理しよう?
記事投稿のonsubmitで処理すればいいのか。
簡単に出来そうだと思って始めたのはいいけれど、ちょっと面倒になってきた。
WordPressにGoogleMapを組み込もうと思っていろいろ実験中。
プラグイン化を目標。
Google Maps API リファレンス
geocodingがまだ日本国内で使えないのでGoogle AJAX Search APIを使って緯度経度情報を取得する必要がある。
面倒だなぁ、と思ったら本家にあるじゃん、便利に使えそうなのが。
Using the GSmapSearchControl Solution
これを組み込めばなんとかなりそう。
WordPressをサイト構築のベースに使おうと思っていろいろと調べてたりしたんだけど、
使えるドキュメントが少ないんだね、まだ。
関数リファレンスがあれば一発の処理を書くのに、関数名にあたりをつけてgrepしたりしながら
ソース内を探したりしなきゃならない。
記事のアタッチメントファイルを引っこ抜くだけなのに、結構手間取った。
おかげで、なんとなく全体が見えてきたけれど。
『今日の関数』
&get_children($post=0, $output = OBJECT)
指定された記事番号を親に持つ記事情報への参照を返す。