APIのバージョン指定

広告

2013年6月現在のメジャーバージョンはGoogle Maps API バージョン 3ですが、新機能の追加やバグフィックスなどのために細かいバージョンアップは行われており V3.12 など細かいバージョンが存在します。通常は気にされる必要はないのですが、バージョンが上がることによって動作が変わる場合があります。

動作確認してリリースされたアプリケーションが急に動作しなくなってしまった場合、Google Maps APIのバージョンが上がったのが理由かもしれません。このような場合には細かいバージョンを指定して動作確認を行うのが有効な場合があります。ここでは明示的にバージョンを指定する方法について解説します。

1.バージョンの指定方法
2.変更履歴と現在のバージョン
3.サンプルコード

Google Maps APIでは新しいバージョンがリリースされると、それまで使用されていたバージョンが凍結バージョンとなります。そしてそれ以前のバージョンは廃止バージョンとなります。他に最新機能などが含まれる試験運用バージョンがあります。

バージョンを指定するにはJavaScriptのコードを読み込むときに「v」パラメータを使って指定します。

<script type="text/javascript"
  src="http://maps.googleapis.com/maps/api/js?v=xxx&key=(APIキー)&sensor=false">
</script>

パラメータの値としては次のいずれかを指定します。

v=3      現在のリリースバージョン。
v=3.exp  試験運用バージョン。
v=3.num  番号付きバージョン。リリースバージョンや凍結バージョンを指定。

リリースバージョンを使用する場合は次のように「v=3」を指定します。

<script type="text/javascript"
  src="http://maps.googleapis.com/maps/api/js?v=3&key=(APIキー)&sensor=false">
</script>

これは次のように「v」パラメータを省略した場合と同じです。

<script type="text/javascript"
  src="http://maps.googleapis.com/maps/api/js?key=(APIキー)&sensor=false">
</script>

凍結バージョンなど細かいバージョンを明示的に使用する場合は「v=3.11」のように指定して下さい。なお指定可能なのはリリースバージョンの他に試験バージョンと凍結バージョンのみで廃止されたバージョンを指定しても凍結バージョンが自動的に使用されます。

<script type="text/javascript"
  src="http://maps.googleapis.com/maps/api/js?v=3.11&key=(APIキー)&sensor=false">
</script>

Google Maps APIのバージョン毎にどのような変更が加えられているのかについては次のURLを参照して下さい。

p3-1

また現在のリリースバージョンなどについて確認したい場合には次のURLを参照して下さい。

p3-2

2013年6月時点での各バージョンは次のようになっていました。

試験バージョン: 3.13
リリースバージョン: 3.12
凍結バージョン: 3.11

では簡単なサンプルを作成して実際に試してみます。まず最初はリリースバージョンを明示的に指定した場合です。

function initialize() {
  var latlng = new google.maps.LatLng(34.687146,135.52597);
  var opts = {
    zoom: 15,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(document.getElementById("map_canvas"), opts);
}
<!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta name="robots" content="noindex,nofollow,noarchive" />
    <title>Google Maps サンプル</title>

    <script type="text/javascript"
      src="http://maps.googleapis.com/maps/api/js?v=3&key=(APIキー)&sensor=false">
    </script>

    <script src="./js/code3_1.js" type="text/javascript"></script>

  </head>
  <body onload="initialize()">
    <p>自宅の地図です。</p>

    <div id="map_canvas" style="width:500px; height:300px"></div>

  </body>
</html>

ブラウザでWebページを開くと次のように表示されます。

p3-3

次に現時点での試験バージョンである「v=3.12」を指定してみます。(スクリプトの部分は変更していませんので先ほどと同じものを使います)。

<!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta name="robots" content="noindex,nofollow,noarchive" />
    <title>Google Maps サンプル</title>

    <script type="text/javascript"
      src="http://maps.googleapis.com/maps/api/js?v=3.12&key=(APIキー)&sensor=false">
    </script>

    <script src="./js/code3_1.js" type="text/javascript"></script>

  </head>
  <body onload="initialize()">
    <p>自宅の地図です。</p>

    <div id="map_canvas" style="width:500px; height:300px"></div>

  </body>
</html>

ブラウザでWebページを開くと次のように表示されます。

p3-4

今回リリースバージョンと試験バージョンでは特に見た目的には違いが感じられませんでした。

----

何か不具合があった場合に凍結バージョンを指定したり、新規アプリケーション作成時にあらかじめ試験バージョンを指定するような場合もあると思いますが、通常は「v」パラメータは省略してリリースバージョンを使用されていれば問題ありません。

( Written by Tatsuo Ikura )