//<![CDATA[

	map = new GMap2(document.getElementById("googlemap"),{
      draggableCursor: 'crosshair',draggingCursor: 'pointer'
    });

//	map = new GMap2( document.getElementById("googlemap") );

	map.setCenter(new GLatLng(35.681099, 139.767084), 16);
	map.addControl(new GLargeMapControl3D());
	map.addControl(new GMenuMapTypeControl(true));
    map.addMapType(G_PHYSICAL_MAP);		
//	map.addControl(new GMapTypeControl(true));
	map.addControl(new GScaleControl());
	map.addControl(new GOverviewMapControl(new GSize(160,100)));
	map.enableContinuousZoom();
	new GKeyboardHandler(map);
	GEvent.addListener(map,"mousemove",move);
	window.onload = function() {
	GEvent.addListener(map, "click", function(marker, latlng){
//	GEvent.addListener(map, "click", function(marker, point){
	marker ? map.removeOverlay(marker) : map.addOverlay(new GMarker(latlng));
//marker ? map.removeOverlay(marker) : map.addOverlay(new GMarker(point, { draggable: true }));
    geocoder = new GClientGeocoder();
	map.disableDoubleClickZoom(); //ダブルクリックでズームしない -20090315
//	map.enableScrollWheelZoom(); //ホイールでズーム-20090301
	
		} );
	}
	
//ここから、文字化け対策のため内部にい置いた
//function showAddress(address) {

// var geocoder = new GClientGeocoder();
// geocoder.getLatLng(address, function(point) {

//  if(!point) {
//   alert("ご指定の [ " + address +" ] " + " は検索できませんでした。\nキーワードを入力し直すなどしてみてください。\nNot Found.\nSorry, we were unable to geocode that address.");
//  }
//  else {
//   map.setCenter(point, 16);
//              var marker = new GMarker(point);
//              map.addOverlay(marker);
//              marker.openInfoWindowHtml(address+"<br><br><span class='moji12'>《このマーカーを消すと距離計測ができなくなります。<br>　マーカーを消さずに地図上をクリックしてください》</span>");
//  }
// });
//}
//ここまで、文字化け対策のため内部にい置いた

//	var line_color = "#CC0000"; 
	var line_color = "#FF0000"; 

function shortForm10000(x) {
	return Math.floor(x*10000)/10000;
}
function shortForm1000(x) {
	return Math.floor(x*1000)/1000;
}
function shortForm100(x) {
	return Math.floor(x*100)/100;
}
function shortForm10(x) {
	return Math.floor(x*10)/10;
}
function move(latlng) {
	var p = document.getElementById("postext");
//	p.innerHTML = "" + shortForm10000(latlng.lat()) + " , " + shortForm10000(latlng.lng()) ;
//オンマウスでエラーが出るのを回避するために、「p.」を外した。
	innerHTML = "" + shortForm10000(latlng.lat()) + " , " + shortForm10000(latlng.lng()) ;
}


	var plottedPoints = [];
	var distance_passed = 0;
	var distance_diredt = 0;
	var routeLine = null;

GEvent.addListener(map, "click", function(overlay, plottedPoint) {
	plottedPoints.push(plottedPoint);
	map.clearOverlays();
	routeLine = new GPolyline(plottedPoints,line_color,4,0.5, {geodesic:true});
//	routeLine = new GPolyline(plottedPoints,line_color,6,0.6);
//	routeLine = new GPolyline(plottedPoints,line_color,3,0.5);
	map.addOverlay(routeLine);
		if (plottedPoints.length >= 2) {
	distance_passed += plottedPoints[plottedPoints.length-2].distanceFrom(plottedPoints[plottedPoints.length-1]) /1000;	
}
		else{
	distance_passed = 0;
	}
	distance_direct = plottedPoints[0].distanceFrom(plottedPoints[plottedPoints.length-1]) /1000;
	document.getElementById("all_sect").innerHTML = shortForm1000(distance_passed) + " km";
	document.getElementById("direct").innerHTML = shortForm1000(distance_direct) + " km";
});	


function undoPrev(){
		if (plottedPoints.length >= 2) {
	distance_passed -= plottedPoints[plottedPoints.length-2].distanceFrom(plottedPoints[plottedPoints.length-1]) /1000;	
	}
		else {
	distance_passed = 0;
	}
	plottedPoints.pop(); 
distance_direct = plottedPoints[0].distanceFrom(plottedPoints[plottedPoints.length-1]) /1000;
		if (plottedPoints.length >= 2){
	detour = distance_passed / distance_direct * 100;
	}
		else {
	detour = 100;
	}
	map.clearOverlays();
	routeLine = new GPolyline(plottedPoints,line_color,4,0.5, {geodesic:true});
//	routeLine = new GPolyline(plottedPoints,line_color,6,0.6);
//	routeLine = new GPolyline(plottedPoints,line_color,3,0.5);
	map.addOverlay(routeLine);
	document.getElementById("all_sect").innerHTML = shortForm100(distance_passed) + " km";
	document.getElementById("direct").innerHTML = shortForm100(distance_direct) + " km";
}

function clearResults(){
	plottedPoints = new Array();
	routeLine = null;
	map.clearOverlays();
	distance_passed = 0;
	distance_direct = 0;
	detour = "-";
	document.getElementById("all_sect").innerHTML = "0 km";
	document.getElementById("direct").innerHTML = "0 km";
}



//]]>
