﻿    var map;
    var gls;
    var marker_list=[];
    var txt_list=[];
    var marker_index=0;

	// qはフォームのテキストエリアの値
	function localSearch() {
		var q=document.getElementById('q').value;
		if(q=="" || q=="undefined"){
			alert("検索キーワードが入力されていません");
		}else{
		 gls.execute(q);
		 return false;
		}
	}

	// 検索完了時に呼ばれるコールバック関数
	function onLocalSearch() {
	 if (gls.results.length == 0) return;

	 // 検索結果の1番目を取得
	 var first = gls.results[0];
	 // その結果の緯度・経度を地図の中心にセット
	 var lat = parseFloat(first.lat);
	 var lng = parseFloat(first.lng);
	 map.setCenter(new GLatLng(lat, lng));

	 // マーカーを立てたり
	 var marker = new GMarker(new GPoint(lng, lat));
	 map.addOverlay(marker);
	 marker.openInfoWindow(first.html.cloneNode(true));
	}

    function addMarker(filename) {  //マーカーを表示 
        var request = GXmlHttp.create(); 
        request.open("GET", filename , 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 mpoint = new GLatLng( 
                         markers[i].getAttribute("lat"), 
                         markers[i].getAttribute("lng") 
                     ); 
                     var markertype = markers[i].getAttribute("markertype");
                     var htmltext = markers[i].getAttribute("html");
                     var marker = createMarker(mpoint, i, htmltext, markertype); 
                     map.addOverlay(marker); 


                } 
            } 
        } 
        request.send(null);
    }
    
    function createMarker(mpoint, index, text, type) { 

        var icon = new GIcon();
        icon.image = "http://www.toba.gr.jp/imgs/common/mapicon1.png";
        icon.shadow = "http://www.toba.gr.jp/imgs/common/mapicon_shadow1.png";
        icon.iconSize = new GSize(19, 22);
        icon.shadowSize = new GSize(19, 22);
        icon.iconAnchor = new GPoint(9, 20);
        icon.infoWindowAnchor = new GPoint(10, 22);
        if(type.length >0){icon.image = "http://www.toba.gr.jp/imgs/common/mapicon"+type+".png";}
        var marker = new GMarker(mpoint,icon); 
	GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(text);});
        marker_list.push(marker);
        txt_list.push(text);
        return marker; 
    } 
    function init(deflat, deflag, defzoom, xmldata){ 
      map = new GMap2( document.getElementById("tobamap")); 
      map.setCenter( new GLatLng(deflat,deflag), defzoom);
      map.addControl(new GLargeMapControl());
      map.addControl(new GMapTypeControl());		


      addMarker(xmldata);  //マーカーをマッピング

	// GlocalSearchオブジェクトを生成
	gls = new GlocalSearch();
	// 検索完了時のコールバック関数をセット
	gls.setSearchCompleteCallback(null, onLocalSearch);


    } 


function mapmove(move_x,move_y,zoom_param) {
	var movepoint = new GLatLng(move_y,move_x);
	map.setCenter(movepoint, zoom_param);
}

    function clickMarker(index){
        //吹き出しを表示する
        marker_list[index].openInfoWindowHtml(txt_list[index]);
    }


