いつの間にか Google Maps API は Google AJAX API に統合されていたんですね!
Google Maps API は、複数の Google AJAX API を読み込んで使用するための共通の名前空間を作成する Google AJAX API ローダーに統合されています。
Quotation from Google マップ API リファレンス – Google Maps API – Google Code
地図アプリを作ろうとしたときにこの変更を知ったので,新しい方で書いてみることにしたのでした!
<script type="text/javascript" src="http://www.google.com/jsapi?key=XXXXAPIKEYXXXX"></script> <script type="text/javascript"> //<![CDATA[ google.load("maps", "2.x"); google.setOnLoadCallback(initialize); function initialize() { if(google.maps.BrowserIsCompatible()){ var map = new google.maps.Map2(document.getElementById("map")); } } </script>
JavaScript のエンドポイントが変わっていたり, google.load メソッドを使って Google Maps のスクリプトを読み込ませるようになっていたり,これまでの G プレフィクスが google.maps に置き換わっていたり ( GMap2 は google.maps.Map2 に ),違いは色々あるんですけど,処理の流れなんかは以前と変わりありませんです.
どれどれと思って Firefox, Safari, Opera で開いてみたら,問題なくいつもの地図が表示されたんですが,なんとビックリ! IE 7 で開いたらエラーになっちゃったんですよ.
うぇーと思ってエラーを追跡してみたところ ( 手伝ってくれた人ありがとう! ),どうやら http://maps.google.com/maps?file=googleapi&v=2.x に含まれる日本語文字列が問題になっているっぽいってことが分かりました.これは Google 先生の側で対処してもらうしかないのでしょうか…!
ひとまず,古い方の書き方に直したら動きました.これから Google Maps API を使うって人,何か分かったら教えてほしいです.このエラーの話は抜きにしても,新旧 API の情報が入り乱れると混乱しますね.