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><div id="mapAddress">' + points[index][3] + '</div><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);
}


