Postal Search APIs & Solutions
Postal Search APIs & Solutions
  • チュートリアル
  • ダイジェスト
  • リファレンス
  • デモ
  • テスト
  • 構築キット
  • with Gadgets
  • with jQuery
  • with Microformats
  • よくある質問
  • お問い合わせ
  • 利用規約
  • フォーラム
  • ブログ
Design by
Studio7designs
opensourcetemplates.org
ホーム > Postal Search Ajax API サンプル > Google Maps API

都道府県を選択してその県庁所在地の周辺地図を表示する

はじめに、Google Maps API を使って、東京都庁を中心とした地図を表示します。

続けて、Japan オブジェクトの arr プロパティを使って、都道府県の県庁所在地の緯度経度を取得し、その結果から日本地図にマーカーを追加します。そのマーカーをクリックすると吹き出しを表示し、その噴出しの中に、都道府県の名前、フリガナ、ローマ字、地方公共団体コード、緯度経度を表示します。

続けて、Japan オブジェクトの arr プロパティを使って、都道府県のドロップダウンリストを表示します。そのドロップダウンリストを選択すると、選択した都道府県の県庁所在地を中心とした地図を表示します。

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

// GMap2
var map;

// window.onload
window.onload = function() {
  map = new GMap2(document.getElementById('map'));
  map.addControl(new GSmallMapControl());
  map.addControl(new GMapTypeControl());
  map.addControl(new GOverviewMapControl());
  map.setCenter(new GLatLng(Japan.Tokyo.y, Japan.Tokyo.x), 15);
  for (var i=0; i<Japan.arr.length; i++)
    map.addOverlay(createMarker(Japan.arr[i]));

  for (var i=0; i<Japan.arr.length; i++) {
    var pref = Japan.arr[i];
    var option = document.createElement('option');
    option.value = pref.g;
    if (pref == Japan.Tokyo)
      option.selected = true;
    option.appendChild(document.createTextNode(pref.a));
    var select = document.f.g;
    select.appendChild(option);
  }

  change(select);
}

// change
function change(select) {
  for (var i=0; i<Japan.arr.length; i++) {
    var pref = Japan.arr[i];
    if (pref.g == select.value) {
      map.panTo(new GLatLng(pref.y, pref.x));
      break;
    }
  }
}

// createMarker
function createMarker(pref) {
  var marker = new GMarker(new GLatLng(pref.y, pref.x));
  GEvent.addListener(marker, 'click', function() {
    marker.openInfoWindowHtml('<h3>' + pref.a + '</h3>'
      + '<dl>'
      + '<dt>フリガナ</dt><dd>' + pref.k + '</dd>'
      + '<dt>ふりがな</dt><dd>' + pref.h + '</dd>'
      + '<dt>ローマ字</dt><dd>' + pref.r + '</dd>'
      + '<dt>地方公共団体コード</dt><dd>' + pref.g + '</dd>'
      + '<dt>経度</dt><dd>' + pref.x + '</dd>'
      + '<dt>緯度</dt><dd>' + pref.y + '</dd>'
      + '</dl>'
    );
  });
  return marker;
}

//]]>
</script>

<form name="f">
<select name="g" onchange="change(this);"></select>
</form>

<div id="map" style="width:480px; height:320px"></div>

関連情報

ベーシック
  • 郵便番号から住所を検索する
  • 住所の単語から郵便番号を検索する
  • 住所の単語から郵便番号を検索してその住所を表示する
送信フォーム
  • 郵便番号を住所に変換するフォーム
  • 郵便番号を住所とフリガナに変換するフォーム #1
  • 郵便番号を住所とフリガナに変換するフォーム #2
  • 郵便番号を住所に変換し、都道府県を選択するフォーム
  • 郵便番号を住所とフリガナに変換し、都道府県を選択するフォーム
with jQuery
  • 郵便番号から住所を検索する #1
  • 郵便番号から住所を検索する #2
  • 送信フォームの入力形式を郵便番号に制限する
  • 住所の単語から郵便番号を検索する
  • 住所の単語から郵便番号を検索してその住所を表示する
  • 住所の単語から住所の候補をサジェスト表示する #1
  • 住所の単語から住所の候補をサジェスト表示する #2
  • 住所の単語から住所の候補をサジェスト表示する #3
Google Maps API
  • ジオコーダを使って郵便番号の周辺地図を表示する
  • 都道府県の県庁所在地を日本地図に表示する
  • 都道府県を選択してその県庁所在地の周辺地図を表示する
  • ジオコーダを使わずに郵便番号の周辺地図を表示する
BLOGRANGER API
  • 郵便番号の地域に関連するブログを検索する
Copyright© 2007 LEARNING RESOURCE LAB and the Postal Search APIs & Solutions team.