
//public
function createMap(elementId,latitude,longitude,mapsize,mapcontrol,typecontrol) {
	var mapTemp = new GMap2(document.getElementById(elementId));
	mapTemp.setCenter(new GLatLng(latitude,longitude), mapsize);
	switch(mapcontrol){
		case 1:mapTemp.addControl(new GSmallMapControl());break;
		case 2:mapTemp.addControl(new GLargeMapControl());break;
	}
	if (typecontrol==1) mapTemp.addControl(new GMapTypeControl());
	
	return mapTemp;
}

function setCenterMarker(mapTemp,iconTemp,type,text) {
	setMarkerImpl(mapTemp,mapTemp.getCenter(),iconTemp,type,text);
}

function setMarker(mapTemp,latitude,longitude,iconTemp,type,text) {
	var pointTemp = new GLatLng(latitude,longitude);
	setMarkerImpl(mapTemp,pointTemp,iconTemp,type,text);
}

function getIcon() {
 	var icon = new GIcon();
	icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
	icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
	icon.iconSize = new GSize(12, 20);
	icon.shadowSize = new GSize(22, 20);
	//ポイントからアイコンの相対位置
	icon.iconAnchor = new GPoint(6, 20);		
	//アイコンからwindowの足の相対位置
	icon.infoWindowAnchor = new GPoint(5, 1);	
	return icon;
}

function setCenterCoordinates(elementId,mapTemp){
	GEvent.addListener(mapTemp, "moveend", function() {
		var center = mapTemp.getCenter();
		document.getElementById(elementId).innerHTML = center.toString();
	});
}

function setCenterCoordinatesSetForm(latitudeElmId,longitudeElmId,zoomElmId,mapTemp){
	GEvent.addListener(mapTemp, "moveend", function() {
		var center = mapTemp.getCenter();
		document.getElementById(zoomElmId).value = mapTemp.getZoom();
		document.getElementById(latitudeElmId).value = center.lat();
		document.getElementById(longitudeElmId).value = center.lng();
	});
}

function showAddress(mapTemp,address) {
	if (geocoder) {
		geocoder.getLatLng(
		address,
		function(point) {
			if (!point) {
				alert(address + " not found");
			} else {
				mapTemp.setCenter(point, 13);
				var marker = new GMarker(point);
				mapTemp.addOverlay(marker);
				marker.openInfoWindowHtml(address);
			}
		}
		);
	}
}

function mapPan(mapTemp,latitude,longitude) {
	mapTemp.panTo(new GLatLng(latitude, longitude));
}


      
      
//以下基本外部利用なし
function createMarker(pointTemp,iconTemp,text) {
	var marker = new GMarker(pointTemp,iconTemp);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(text);
	});
	return marker;
}

function setMarkerImpl(mapTemp,pointTemp,iconTemp,type,text) {
	switch(type){
		case 1:
			mapTemp.addOverlay(new GMarker(pointTemp,iconTemp));
			break;
		case 2:
			mapTemp.addOverlay(new GMarker(pointTemp,iconTemp));
			mapTemp.openInfoWindow(pointTemp,text);
			break;
		case 3:
			mapTemp.addOverlay(createMarker(pointTemp,iconTemp,text));
			break;
		case 4:
			mapTemp.addOverlay(createMarker(pointTemp,iconTemp,text));
			mapTemp.openInfoWindow(pointTemp,text);
			break;
	}
}



