var map=null;
var icon2=null;
var zoom_map=8;
var map_type=null;
var marker=null;
var vertex=null;
var nb_update=0;
var nb_wp=0;
var geocoder=null;

function init_carte_2d() {
	//Initcarte 2D
 		icon2 = new GIcon();
		icon2.image = "images/croix10.png";
		icon2.iconSize = new GSize(10, 10);
		icon2.iconAnchor = new GPoint(6,6);
		icon2.infoWindowAnchor = new GPoint(6, 6);
		 map = new GMap2(document.getElementById("carte2d_"), {draggableCursor: 'crosshair', draggingCursor: 'pointer'});
		// map = new google.maps.Map2(document.getElementById("carte2d_"), {draggableCursor: 'crosshair', draggingCursor: 'pointer'});

		map.addMapType(G_PHYSICAL_MAP);
		map.addControl(new GMenuMapTypeControl());
		map.addControl(new GSmallZoomControl());
		map.enableScrollWheelZoom();
		GEvent.addListener(map, 'click', function( overlay,point) {
							
						add_location (point,"");
				});
		var point = new GLatLng( Platef[0].lat,Platef[0].lng);
		map.setCenter(point, zoom_map,map_type);
		
	   marker = new GMarker(point,icon2);
	   map.addOverlay(marker);
	   //Polyline 1 point puis drawing
			var i=0;
			var h=Math.PI*Platef[i].heading/180;
			var lt=Platef[i].lat+0.004*Math.cos(h);
			var lg=Platef[i].lng+0.004*Math.sin(h)/Math.cos(Math.PI*Platef[i].lat/180);
			vertex = new GPolyline([  new GLatLng(Platef[i].lat,Platef[i].lng),  new GLatLng(lt, lg)], "#FF0000", 2);
			
			map.addOverlay(vertex);
		update_map();
		
}
function add_location (point,address) {
							idx_lat=lati.length;
							lati.push(point.lat());
							lngi.push(point.lng());
							if (address=="") {
								address=Math.floor(1000*point.lat())/1000 +"*"+Math.floor(1000*point.lng())/1000;
							}
							nom_lieu.push(address);
							init_site();
							force_site(idx_lat);
							one_place(address,point.lat(),point.lng());
							
							validation_lieu(); //test si pas sur terre pour un bateau
							if (update_on==false) info_wp();
							mode_auto(false);
}
function update_map() {
		nb_update=(nb_update+1)%40;

		var p=Math.pow(2,map.getZoom());
		var point = new GLatLng( Platef[0].lat,Platef[0].lng);
		if ( update_on==false) {
				map.panTo(point);
		} else {
			if (nb_update==0 ) map.setCenter(point);
		}
		marker.setLatLng(point);

		//Polyline 1 point puis drawing
			var i=0;
		

			
			vertex.enableEditing();  // necessaire maintenant janv 09 pour disablevertex;
			vertex.insertVertex(0,  new GLatLng(Platef[i].lat, Platef[i].lng));
			vertex.deleteVertex(2);
			var h=Math.PI*Platef[i].heading/180;
			var lt=Platef[i].lat+30*Math.cos(h)/p;
			var lg=Platef[i].lng+30*Math.sin(h)/Math.cos(Math.PI*Platef[i].lat/180)/p;
			
			vertex.insertVertex(0,  new GLatLng(lt, lg));
			vertex.deleteVertex(2);
			vertex.disableEditing();

}
