Google Maps APIと文字コード
この7月あたりから巷で話題のGoogle Maps APIだが、 文字コード関係でちょっとしたコツがある。
文字コードまわりをEUCで固めた環境で作業していて気づいたのだが、 EUCで書かれたhtmlに埋め込んだJavaScriptからGoogle Maps APIを呼び出すと、 Internet Explorerが「エラー:'GMap'は宣言されていません」のようなエラーを吐く。 ちなみにFireFox等ではこのエラーは出ない。
原因は、Google Maps APIとしてGoogleが提供するJavaScriptやデータ等が 文字コードとしてUTF-8を基本としているため、 それ以外の文字コードで書かれたHTML等とと混ぜようとするとIEが解釈しきれないらしい。
しょーがないってんでわざわざ呼び出し元のHTMLのほうを UTF-8で書き直したりしている人も多いのではないかと推察されるが、 すでにEUCやShift_JISで書かれたリソースを沢山保持している人にとっては 文字コードの乗り換えも混在もできればやりたくないのが当然だろう。
実は簡単な解決方法がある。 Google Maps APIではその基本的なライブラリを次のように呼び出すことになっているのだが、
<script src="http://maps.google.com/maps?file=api&v=1&key=....." type="text/javascript"></script>これを、次のようにするだけ。
<script src="http://maps.google.com/maps?file=api&v=1&key=....." type="text/javascript" charset="utf-8"></script>これで、ブラウザがよきにはからってくれるようになる(らしい)。
というテクは実は数年前にbulknews.netのmiyagawa氏が書いてたりする。
script タグに charset アトリビュート (bulknews.net 2003/10)
しかしながら、時代はもう着実にUTF-8への統一へ向かって流れている。 データ層からアプリケーション層、プレゼンテーション層にいたるまで すべてUTF-8で固めることで余計なトラブルを防ぐということも、 そろそろ真剣に考えるべきだろう。

コメント
Google Maps APIを利用し、住所やランドマークから地図を作成できるツールを作成していますが、文字コードの話参考になりました。
http://map.alamode.tv
もしよければ、遊びに来てください。
Posted by google maps 最高 at 2006年1月 7日
コメントする
(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)