checkboxと組み合わせる

ここでは、Google MAPS APIとチェックボックスフィールドを連動させる例を説明したいと思います。

サンプル

以下のサンプルはGoogle MAPS APIを使ったページのソースです。


<!DOCTYPE html PUBLIC "-//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>
    <title>Google Maps JavaScript API Example - simple</title>
    <script src="http://maps.google.com/maps?file=api&v=2&key=aaaaa"
        type="text/javascript" charset="utf-8"></script>
  </head>

  <body>

    <div id="map" style="width:500px; height:450px"></div>

    <script type="text/javascript">
    //<![CDATA[

    var map;
    var marker1, marker2;

    map = new GMap2(document.getElementById("map"));
    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());
    map.setCenter(new GLatLng(36.03, 139.15), 13);

    marker1 = new GMarker(new GLatLng(36.02, 139.16));
    marker2 = new GMarker(new GLatLng(36.03, 139.17));

    var marker1_is_displayed = 0;
    var marker2_is_displayed = 0;

    function checkbox1clicked() {
      if (marker1_is_displayed == 0) {
        map.addOverlay(marker1);
        marker1_is_displayed = 1;
      } else {
        map.removeOverlay(marker1);
        marker1_is_displayed = 0;
      }
    }

    function checkbox2clicked() {
      if (marker2_is_displayed == 0) {
        map.addOverlay(marker2);
        marker2_is_displayed = 1;
      } else {
        map.removeOverlay(marker2);
        marker2_is_displayed = 0;
      }
    }

    //]]>
    </script>

    <P><input type="checkbox" name="cb1" onClick="checkbox1clicked()">marker 1</P>
    <P><input type="checkbox" name="cb2" onclick="checkbox2clicked()">marker 2</P>

  </body>

</html>

上記サンプルでは、チェックボックスでマーカーの表示/非表示を制御しています。 「marker 1」のチェックボックスがクリックされるとfunction checkbox1clicked()が呼び出されます。 checkbox1clicked()は、チェックボックスが選択されているかどうかで挙動が変わります。 もし、選択されていればvar marker1に代入されているGMarkerを表示します。 一方、選択されていない場合はmarker1を非表示にします。 checkbox2clicked()も同様の動作をします。

表示例

表示例です。



あきみち

Linuxネットワークプログラミングの本を書きました
Linuxネットワークプログラミング

Google Maps API
プログラミング



カスタム検索




はてなRSSに追加
Subscribe with livedoor Reader
Subscribe with Bloglines
Add to goo

外部サイト

プレコ王国
ディスカス魂
金魚タイムズ
YouTubeチャネル
Twitter
mixi(ほぼ未使用)


フィードメーター - Geekなぺーじ にほんブログ村 IT技術ブログへ
Copyright (C) Geekなページ.
All rights reserved. 無断転載や無断コピーなど、私的利用の範囲を逸脱した利用はおやめ下さい.