var map;										// 地図インスタンス

var points = new Array();						// 座標データのリスト

var markers = new Array();						// マーカーのリスト



// 地図を表示する関数

function showMap(centerX, centerY, zoom)

{

	// ブラウザの対応を確認して表示

	if ( GBrowserIsCompatible() )

	{

		map = new GMap(document.getElementById("googlemap"));

		map.addControl(new GLargeMapControl());

		map.addControl(new GScaleControl());

		map.centerAndZoom(new GPoint(centerX, centerY), zoom);

		for ( i=0; i<points.length; i++ )

		{

			var point = new GPoint(points[i][0], points[i][1]);

			markers[i] = createMarker(point, i);

			map.addOverlay(markers[i]);



			// ズームの調整

			bound = map.getBoundsLatLng();

			if ( (points[i][0] > bound.maxX) ||(bound.minX > points[i][0]) )

			{

				zoomOut();

			}

			bound = map.getBoundsLatLng();

			if ( (points[i][1] > bound.maxY) || (bound.minY > points[i][1]) )

			{

				zoomOut();

			}

		}



		if ( points.length == 1 )				// 座標が1つのときだけ吹き出しを出す

		{

			openInfoWindow(0);

		}

	}

//	else

//	{

//		document.getElementById("googlemap").innerHTML = '<p style="font-size:14px;">Google マップの仕様により、お使いのブラウザでは地図を表示することができません。<br />'

//			+'なお、現在対応しているブラウザは以下の通りです。</p>'

//			+'<ul class="listDisk">'

//			+'<li>IE 6.0 以降　(Windows)</li>'

//			+'<li>Firefox 0.8 以降　(Windows, Mac, Linux)</li>'

//			+'<li>Safari 1.2.4 以降　(Mac)</li>'

//			+'<li>Netscape 7.1 以降　(Windows, Mac, Linux)</li>'

//			+'<li>Mozilla 1.4 以降　(Windows, Mac, Linux)</li>'

//			+'<li>Opera 8.02 以降　(Windows, Mac, Linux)</li>'

//			+'</ul>';

//	}

}



// マーカーを追加する

function createMarker(point, index)

{

	var marker = new GMarker(point);

	// クリックイベント

	GEvent.addListener(marker, 'click', function() { openInfoWindow(index); });



	return marker;

}



function openInfoWindow(index)

{

	// 吹き出しの中身。XHTML。

	var html = '<div id="mapName">' + points[index][2] + '</div>';

	if ( points[index][3] != '' )

	{

		html += '<div id="mapAddress">' + points[index][3] + '</div>';

	}

	if ( points[index][4] != '' )

	{

		html += '<div id="mapTelNumber">TEL：' + points[index][4] + '</div>';

	}



	markers[index].openInfoWindowHtml('<div id="mapBalloon">' + html + '</div>');

}



// ズームイン

function zoomIn()

{

	var zoomLevel = map.getZoomLevel();

	zoomLevel -= 1;

	if ( zoomLevel < 0 )

	{

		zoomLevel = 0;

	}

	map.zoomTo(zoomLevel);

}



// ズームアウト

function zoomOut()

{

	var zoomLevel = map.getZoomLevel();

	zoomLevel += 1;

	if ( zoomLevel > 17 )

	{

		zoomLevel = 17;

	}

	map.zoomTo(zoomLevel);

}

