selectと組み合わせる
ここでは、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 - simple</title>
<script src="http://maps.google.com/maps?file=api&v=1&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 GMap(document.getElementById("map"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.centerAndZoom(new GPoint(139.10, 36.01), 4);
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 GPoint(value, 36.01);
break;
case 1:
point = new GPoint(value, 36.01);
break;
case 2:
point = new GPoint(value, 36.01);
break;
default:
break;
}
map.recenterOrPanToLatLng(point);
}
//]]>
</script>
<P>
<select name="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を使っています。
表示例
表示例です。