Si usas Google Maps como proveedor de los mapas para tus aplicaciones web, seguramente hayas observado que lo que te explican en la documentación de la API y en general, casi todos los sitios dónde te explican como empezar (incluido aquí en A2Blog), los controles de los mapas se inicializan así:
var mapControl = new GMapTypeControl(); map.addControl(mapControl); map.addControl(new GLargeMapControl());
Con está inicialización obtenemos la versión anterior de los controles de mapa, es decir, algo cómo esto:
Si nos fijamos por ejemplo en maps.google.es, la cosa tiene otra pinta mucho mejor:
¿Cómo conseguir esos controles más vistosos y además no tener que preocuparse por las mejoras que nos puedan ofrecer en el tiempo los chicos de google?
Muy fácil, usemos la propiedad getDefaultUI();
var customUI = map.getDefaultUI(); // Quitar la vista híbrida -> MapType.G_HYBRID_MAP customUI.maptypes.hybrid = false; map.setUI(customUI);
Y ya tenemos nuestro mapa con los nuevos controles
El código completo de la función de inicializar el mapa es el siguiente:
function initialize() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"),
{ size: new GSize(640,320) } );
map.setCenter(new GLatLng(42.366662,-71.106262), 11);
var customUI = map.getDefaultUI();
// Remove MapType.G_HYBRID_MAP
customUI.maptypes.hybrid = false;
map.setUI(customUI);
}
}