« ふたご姫は人生の教科書 | メイン | QMA4~プレイ台がクラッシュ! »
2007年05月21日
旅マップを改造
これまで、Google Maps APIを使って、旅行先を地図上に表示してきましたが、その仕組みを少し改造してみました。これまでは、各マーカーの情報を直接HTMLソースに書き込んでいたので、管理が煩雑でした。そこで、MySQLをバックグラウンドに用意しました。HTMLからXMLHttpRequestでサーバにあるphpスクリプトにアクセスし、そこからMySQLにアクセスするという形です。
仕組み自体は思ったよりアッサリできたのですが、思わぬところで悩みました。最初は、phpではお約束気味の文字コード関連です。MySQLにはUTF-8で格納していることを確認し、default_charset、mbstring.internal_encodingにもUTF-8を設定したけれど、駄目。原因は、mbstring.http_outputをUTF-8に設定し忘れたせいでした。しかし、これ文字コードが原因と気づくまでに時間がかかりました--;。
先の修正後Firefoxで動作確認して、OKだと思ったら、IEなどで動かなかったりしました。HTMLの解釈ではIEはルーズというイメージがありましたが、今回のjavascript周りではFirefoxのほうがルーズに感じました。IEでは、ちゃんとContent-typeをtext/xmlに指定しないと、駄目のようです。他にも、セレクトメニューの値プロパティで、textとvalueを間違えても、Firefoxでは通ってしまいましたし…。
ただ、一応リリースはしたものの、まだ作りかけです。各旅行のルート表示とか、MarkerManagerで表示するマーカーの選択方法の改良とか。現在は完全にランダムで指定しているので、バラけ具合がよくありません。例えば、東京に5つ、北海道に1つ、沖縄に1つのマーカーがあり、ズームレベル3では3つのマーカーを表示するとします。見た目には、北海道、東京、沖縄のマーカーが1つずつ表示されたほうが良いですが、3つとも東京になる確率が高いです。何かいいアルゴリズムはないかなあ、と通勤時に歩きながら考えています^-^;
投稿者 bokupi : 2007年05月21日 23:10
トラックバック
このエントリーのトラックバックURL:
http://omoshiro-joho.com/c-i-mnet/cgi-bin/mt/mt-tb.cgi/1411