ダブルクリックによるズーム操作の有効/無効

広告

Google Maps APIを使って作成した地図では、地図上でダブルクリックすることで地図の中心がクリックした位置に移動し、そしてズームレベルが1つ上がり詳細な地図が表示されるようになっています。

このダブルクリックによる操作は有効にしたり無効にしたりすることができます。無効に設定するにはMapクラスのオブジェクトを作成する時に指定するMapOptionsオブジェクトの「disableDoubleClickZoom」プロパティに"true"を設定して下さい。(MapOptionsオブジェクトについては「地図の作成」を参照して下さい)。

var opts = {
    zoom: 13,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP,
    disableDoubleClickZoom: true
};

※ 無効にするかどうかを設定するので"true"を指定すると無効になります。

これでダブルクリックによる操作が無効となります。もし明示的に有効にしたい場合には"false"を設定して下さい。

サンプルコード

では実際に試してみます。

var map;

function initialize() {
  var latlng = new google.maps.LatLng(33.261657,129.885864);
  var opts = {
    zoom: 8,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP,
    disableDoubleClickZoom: false
  };
  map = new google.maps.Map(document.getElementById("map_canvas"), opts);
}

function toEnable() {
  var opts = {
    disableDoubleClickZoom: false
  };

  map.setOptions(opts);
}

function toDisable() {
  var opts = {
    disableDoubleClickZoom: true
  };

  map.setOptions(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"/>
    <title>Google Maps JavaScript API サンプル</title>
    <script type="text/javascript"
      src="http://maps.google.com/maps/api/js?sensor=false"></script>
    <script src="./js/code3_1.js" type="text/javascript"></script>

  </head>
  <body onload="initialize()">
    <p>Google Maps APIを使ったサンプルです。</p>

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

    <form>
    <p>
    <input type="button" id="yuko" value="有効" onclick="toEnable()" />
    <input type="button" id="muko" value="無効" onclick="toDisable()" />
    </p>
    </form>
  </body>
</html>

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

p3-1

ダブルクリックによる操作を有効にしているので、地図上の任意の地点をダブルクリックすると地図の中心が移動し、ズームレベルも上がります。

下記の最初の図の赤い丸の位置でダブルクリックすると、地図はクリックした位置に移動し、詳細な地図が表示されます。

p3-2

p3-3

地図下にあるボタンを押すことでダブルクリックによる操作を有効にしたり無効にしたりできます。無効にした場合は、地図上でダブルクリックを行っても何も起こりません。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。