﻿var bounds;

// Inicializar Google maps
function inicializar(sIdCapa) {
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById(sIdCapa));
		var topRight = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,10));
//		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl(),topRight);
		map.addControl(new GSmallMapControl());
//		map.addControl(new GLargeMapControl());
//		var ov = new GOverviewMapControl()
//		map.addControl(ov);
//		ov.hide();
		
		// Crear un area para la funci?n autoCentrar
		bounds = new GLatLngBounds();

		return map;
	}
}

// Centrar el mapa
function centrar(map, nLatitud, nLongitud, iZoom) {
	if (GBrowserIsCompatible()) {
		map.setCenter(new GLatLng(nLatitud, nLongitud), iZoom);
	}
}

function autoCentrar(map) {
	if (GBrowserIsCompatible()) {
		var iZoom = map.getBoundsZoomLevel(bounds);
		
		// No sobrepasar el zoom por defecto
		if(iZoom>16) iZoom = 16;
		
		map.setZoom(iZoom);
		map.setCenter(bounds.getCenter());
	}
}

// A?adir marcador
function addMarker(map, sTexto,nLatitud,nLongitud,urlIcono,urlSombra) {
	if (GBrowserIsCompatible()) {
		var latlng = new GLatLng(nLatitud,nLongitud);
		
		// A?ade el marcador al area
		bounds.extend(latlng);
		
		var baseIcon = new GIcon();
		baseIcon.image = urlIcono;
		baseIcon.shadow = urlSombra;
		baseIcon.iconSize = new GSize(15, 15);
		baseIcon.shadowSize = new GSize(59, 32);
		baseIcon.iconAnchor = new GPoint(15, 31);
//		baseIcon.infoWindowAnchor = new GPoint(9, 2);
//		baseIcon.infoShadowAnchor = new GPoint(18, 25);
		
		var markerOptions = { icon:baseIcon };
		// 23/06/08 Marco - Hab?a un desv?o en las coordenadas al usar el icono personalizado
		var marker = new GMarker(latlng, markerOptions);
		
		//GEvent.addListener(marker, "click", function() {
		//	marker.openInfoWindowHtml(sTexto);
		//});
		
		map.addOverlay(marker);
	}
}