var svObj=null;
var svContainer,marker,markerPos,infoTabs, infoWnd;
function Map(){
    if (GBrowserIsCompatible()) {
    // ===== ここがマップの初期設定===== 
        var map = new GMap2(document.getElementById("map"));
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        map.addControl(new GOverviewMapControl(new GSize(200,150)));
        map.setCenter(new GLatLng(35.687555,139.724156), 15);
        map.enableDoubleClickZoom();
        map.enableContinuousZoom();
    // ===== ここからアイコン設定=====
        var icon = new GIcon();
        icon.image = "http://www.gravity-works.jp/g_point.png";
        icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
        icon.iconSize = new GSize(20, 34);
        icon.shadowSize = new GSize(37, 34);    
        icon.iconAnchor = new GPoint(9, 34);
        icon.infoWindowAnchor = new GPoint(9, 2);
        icon.infoShadowAnchor = new GPoint(18, 25);
        function createMarker(point, text) {
            var marker = new GMarker(point, icon);
            var html = "<div class=\"info\">" + text + "</div>";
            var infoTabs = [
            new GInfoWindowTab("ビュー", svContainer),
            new GInfoWindowTab("記事情報", html)
            ];
            //-------- マーカーをクリックしたとき --------
            GEvent.addListener(marker, "click", function() {
                map.closeInfoWindow();
                //マーカーの現在位置を取得
                var markerPos = marker.getPoint();
                //取得した座標のストリートビューがあるかチェックし、makeSVP に座標を渡す（なければ null を渡す）
                var client = new GStreetviewClient();
                client.getNearestPanoramaLatLng(markerPos, makeSVP);
                //GStreetviewPanoramaの作成
                function makeSVP(newlatlng){
                    //makeSVPが null でなければフキダシ作成
                    if(newlatlng != null){
                        svObj = new GStreetviewPanorama(svContainer,{latlng:markerPos});
                        marker.openInfoWindowTabsHtml(infoTabs);
                    }
                }
            });
            //----------------
            return marker;
        }
        //ストリートビュー用のコンテナ
        svContainer = document.createElement("div");
        svContainer.style.width="300px";
        svContainer.style.height="200px";
        // ===== ここからXML呼び出し=====
        var request = GXmlHttp.create();
        request.open("GET", "mark.xml", true);
        request.onreadystatechange = function() {
            if (request.readyState == 4) {
                var xmlDoc = request.responseXML;
                var markers = xmlDoc.documentElement.getElementsByTagName("marker");
                for (var i = 0; i < markers.length; i++) {
                    var point = new GPoint(parseFloat(markers[i].getAttribute("lon")),parseFloat(markers[i].getAttribute("lat")));
                    var marker = createMarker(point, markers[i].firstChild.nodeValue);
                    map.addOverlay(marker);
                    if(i == 0){//一度吹き出しを開いて閉じる（ストリートビューのため）
                        marker.openInfoWindowHtml();
                        marker.closeInfoWindow();
                    }
                }
            }
        }
    }
request.send(null);
}

