    var map;
	var center;
	var zoom;
	var ctrl;
	var school_geo;

    function load(default_lan,default_lon, school_id) {

      if (GBrowserIsCompatible()) {

		// 縮小窓
//		ctrl = new TextualZoomControl();
 		center = new GLatLng(default_lan, default_lon);

    	map = new GMap2(document.getElementById("map"));
		map.addControl(new GSmallMapControl());

        map.setCenter(center, 13);

		school_geo = center;

		loadobjects();

		// ドラッグ＆ドロップ時の動作
        GEvent.addListener(map, "dragend", function() {
			loadobjects();
        });
		// ドラッグ＆ドロップ時の動作
        GEvent.addListener(map, "zoomend", function() {
			loadobjects();
        });



      }
    }

	function loadobjects(){
//		document.getElementById("map").style.display = "none";

		document.getElementById("maploading").style.display = "block";

//		map.removeControl(ctrl);
//		map.addControl(ctrl);

		center = map.getCenter();


		var lines   = map_ajax.getNearLine(center.x, center.y, map.getZoom());
		var estates = map_ajax.getNearEstate(center.x, center.y, map.getZoom());
//		var schools = map_ajax.getNearSchool(center.x, center.y, map.getZoom());

		var points = [];
		var line;

		map.clearOverlays();

//		var gschool = map_ajax.getSchool(school_id);

		// 学校アイコンを表示
		var meta = [];
		meta["icon"]  = "school.png";
		meta["color"] = "FF0000";
		meta["width"] = "50";
		meta["height"]= "77";
//		meta["html"]  = school["school_name"];
		map.addOverlay(createMarker(school_geo, meta));



/*		var tilelayer = new GTileLayerOverlay(
								new GTileLayer(null, null, null, {
									tileUrlTemplate: '/share/img/maps/white.png',
//									isPng:true,
									opacity:0.5
									 })
								);
	    map.addOverlay(tilelayer);*/

		for (line_cd in lines) {
			points = [];
			if (line_cd != "line_html") {
				line = lines[line_cd];
				if (line) {

					for (val in line) {
						if (line[val]["lat"] && line[val]["lon"]) {


							points[val] = new GLatLng(line[val]["lat"], line[val]["lon"]);


							// ポイントを表示
							if (map.getZoom() > 12 && line[val]["f_flag"] == 1) {
								//								line["meta"]["icon"] = line["meta"]["line_icon"];
								//								if(!line["meta"]["icon"]){
								//									line["meta"]["icon"] = "plane.gif";
								//								}
								line["meta"]["icon"] = "plane.gif";

								line["meta"]["color"] = line["meta"]["line_color"].substr(1, 6);//#を除く
								line["meta"]["html"] = "<div style='font-size:12px'>" + line[val]["line_name"] + "<br />" + line[val]["station_name"] + "</div>";
								//								line["meta"]["html"] = "";

								map.addOverlay(createMarker(points[val], line["meta"]));
							}

							var pre_lat = line[val]["lat"];
							var pre_lon = line[val]["lon"];

						}
					}
					// 路線を引く
//					if (line["meta"]["line_is_active"] == 1) {
//						var line_size = (map.getZoom() - 13) * 2 + 1;
//						var line_size = 4;
//						map.addOverlay(new GPolyline(points, line["meta"]["line_color"], line_size, 2.8));
//					}
				}
			}

		}

		var estate_icon_size = [];
		estate_icon_size[18] = 37;
		estate_icon_size[17] = 37;
		estate_icon_size[16] = 37;
		estate_icon_size[15] = 30;
		estate_icon_size[14] = 25;
		estate_icon_size[13] = 18;
		estate_icon_size[12] = 10;
		estate_icon_size[11] = 8;
		estate_icon_size[10] = 6;
		estate_icon_size[9]  = 4;
		estate_icon_size[8]  = 4;
		estate_icon_size[7]  = 4;
		estate_icon_size[6]  = 4;

		for (key in estates) {
			var meta = [];

			if (estates[key]["estate_glat"] && estates[key]["estate_glng"]) {
				points[key] = new GLatLng(estates[key]["estate_glat"], estates[key]["estate_glng"]);

				// 物件アイコンを表示
				if(estates[key]["estate_type"] == "学生会館"){
					meta["icon"]  = "orange.png";
				}else{
					meta["icon"]  = "red.png";
				}
				meta["color"] = "FF0000";
				meta["width"] = estate_icon_size[map.getZoom()];
				meta["height"] = estate_icon_size[map.getZoom()];
				meta["html"]  = "<div style='font-size:12px'><a href=\"/estate/"+estates[key]["estate_code"]+"\">"+estates[key]["estate_name"]+"</a><br />"+estates[key]["estate_house_rent_freespace"]+"";
				map.addOverlay(createMarker(points[key], meta));
			}
		}



/*		for (key in schools) {
			var meta = [];

			if (schools[key]["school_glat"] && schools[key]["school_glng"]) {
				points[key] = new GLatLng(schools[key]["school_glat"], schools[key]["school_glng"]);

				// 学校アイコンを表示
				meta["icon"]  = "school.png";
				meta["color"] = "FF0000";
				meta["html"]  = schools[key]["school_name"];
				map.addOverlay(createMarker(points[key], meta));
			}
		}*/
/*		if(document.getElementById("school_glat")){
			var meta = [];
			var school_glat = document.getElementById("school_glat").value;
			var school_glng = document.getElementById("school_glng").value;

			meta["icon"]  = "zoom-in.gif";
			meta["html"]  = "<div style='font-size:14px'>" + line[val]["line_name"] + "<br />" + line[val]["station_name"] + "</div>";
			map.addOverlay(createMarker(new GLatLng(school_glat, school_glng), meta));
	        map.setCenter(new GLatLng(school_glat, school_glng), 13);
		}*/

//		document.getElementById("message").innerHTML = map.getZoom();
//		document.getElementById("line").innerHTML = lines["line_html"];

		document.getElementById("maploading").style.display = "none";
//		document.getElementById("map").style.display = "block";


	}

	function createMarker(points, meta){
		var icon = new GIcon();

		icon.image = "/share/img/maps/icon/" + meta["icon"];
		//icon.image = "/img/maps/icon/c_" + meta["color"] + ".png";

		if(meta["width"] && meta["height"]){
			icon.iconSize = new GSize(meta["height"], meta["width"]);
		}

		icon.iconAnchor = new GPoint(10, 10);
		icon.infoWindowAnchor = new GPoint(10, 10);

		var marker = new GMarker(points, icon);

		if (meta["html"]) {
			GEvent.addListener(marker, "click", function(){
				marker.openInfoWindowHtml(meta["html"]);
			});
		}
		return marker;

	}

	// 拡大・縮小のボタン
	function TextualZoomControl() {}
	TextualZoomControl.prototype = new GControl();

	TextualZoomControl.prototype.initialize = function(map) {
		var container = document.createElement("div");

	if (map.getZoom() < 16) {
		var zoomInImg = document.createElement("img");
		zoomInImg.src = "/share/img/maps/icon/zoom-in.png"
		container.appendChild(zoomInImg);
		GEvent.addDomListener(zoomInImg, "click", function(){
			map.zoomIn();
		});
	}

	if (map.getZoom() > 12) {
		var zoomOutImg = document.createElement("img");
		zoomOutImg.src = "/share/img/maps/icon/zoom-out.png"
		container.appendChild(zoomOutImg);
		GEvent.addDomListener(zoomOutImg, "click", function(){
			map.zoomOut();
		});
	}
	  map.getContainer().appendChild(container);
	  return container;
	}

	TextualZoomControl.prototype.getDefaultPosition = function() {
	  return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(7, 7));
	}

	function searchMap(address){

		if(!address){
			alert('キーワードを入力してください。');
			return false;
		}

		geocoder = new GClientGeocoder();

		geocoder.getLatLng(
			address,
			function(point){
				if(!point){
					alert(address +" \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002");
	            }
				else{
        			map.setCenter(point, 14);
					loadobjects();
	            }
        	}
		);
	}

