selectと組み合わせる
(注意!)この記事は、旧APIであるGoogle Maps API version 2を解説したものです。version 2の利用は推奨されていないので、意図的に旧バージョンの情報を探していない場合は、新しいバージョンの解説をご覧下さい。
ここでは、Google MAPS APIとフォーム(FORM)のselectフィールドを連動させる例を説明したいと思います。
サンプル
以下のサンプルは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</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 = new GMap2(document.getElementById("map"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(36.01, 139.10), 13);
function selectchanged() {
var point;
var sel = document.getElementById("sel");
var n = sel.selectedIndex;
var value = sel.options[n].value;
switch (n) {
case 0:
point = new GLatLng(36.01, value);
break;
case 1:
point = new GLatLng(36.01, value);
break;
case 2:
point = new GLatLng(36.01, value);
break;
default:
break;
}
map.panTo(point);
}
//]]>
</script>
<P>
<select id="sel" onChange="selectchanged()">
<option value="139.11">point 1
<option value="139.12">point 2
<option value="139.13">point 3
</select>
</P>
</body>
</html>
上記サンプルでは、selectで選択されている項目を変更する度に地図内で移動が発生します。 移動はrecenterOrPanToLatLngを使っています。
表示例
表示例です。