Google Maps API が国際化ドメイン名 (IDN: Internationalized Domain Name) サイト内に表示できない


Google Maps を任意の Web サイト内に表示する為には、表示するサイト毎に Google Maps API Key を取得しなければならないのだが、http://ドメイン名例.jp/ というような、国際化ドメイン名(日本語ドメイン名)のサイト用に Google Maps API Key を取得しようとするのだが、うまくいかない。


なぜか、国際化ドメイン名に対応していないブラウザ(IE6: Internet Explorer 6 等)では、http://xn--eckwd4c7cu47r2wf.jp/ といったpunycode表記で Google Maps API Key を取得すればうまくいくのだが、国際化ドメイン名に対応しているブラウザ(IE7: Internet Expolorer 7, Firefox 等)では、http://xn--eckwd4c7cu47r2wf.jp/ 用の Google Maps API Key で記述しても、http://ドメイン名例.jp/ 用の Google Maps API Key で記述しても、どちらもうまくいかない。


Google Maps API では、JavaScript 内で使用される window.location.host を元にサイトの区別を行っている模様。


IE6 だと window.location.hostxn--eckwd4c7cu47r2wf.jp であるが、IE7 とか Firefox とかだと window.location.hostドメイン名例.jp となっていて、http://ドメイン名例.jp/Google Maps API Key を取得しようとしても http://%e3%83%89%e3%83%a1%e3%82%a4%e3%83%b3%e5%90%8d%e4%be%8b.jp/ というサイト向けの Google Maps API Key が発行されてしまい、いずれにしろうまくいかない。


IE7 とか Firefox とかが window.location.hostxn--eckwd4c7cu47r2wf.jp を返してくれれば事は済むと思うのだが、ブラウザの内部的な仕様は1個人ではどうすることも出来ないので、 Google Maps API 側でなんとか対応してもらえないだろうかと思う今日この頃です・・・。


どうにか対応する手段はないでしょうか・・・。