Usted está aquí

Alternativas para crear Mapas de Google adaptables y asíncronos en Drupal

Escrito por Ing. Maikel Maldonado del Toro, 05 de Abril, del 2017
Mapas-Google-adaptables-asíncronos-Drupal

Los mapas de Google son una buena alternativa para mostrar información importante de contacto en nuestros sitios web. Existen muchas formas de hacerlo incluyendo el uso de módulos.

 

Las principales dificultades que a mi juicio se presentan al utilizar el módulo de Drupal son:

- El Javascript de la petición a gmaps, al ser un js bloquea la carga de la página hasta que no se cargue completamente el fichero.

- El mapa generado no es responsive.

 

Las propuestas que traigo para resolver las anteriores dificultades son:

1- Obtén las coordenadas del lugar que deseas mostrar (recomiendo para esto usar este sitio http://www.map-embed.com/)

2- Crea un bloque y pega el siguiente código, configurando los parámetros.

 

<div id="gmap_canvas" style="height:280px;width:100%;"></div>

<script>

function init_map() {

jQuery(document).ready(function() {

var myOptions = {

//para que cuando pases por arriba con el scroll ni acerque ni aleje la imagen

scrollwheel:false,

//para que no se pueda mover la posición en la que está enfocado el mapa

draggable:false,

//para eliminar algunos controles innecesarios

mapTypeControl:false,

//para establecer el nivel de acercamiento del mapa

zoom: 14,

//para establecer las coordenadas del centro de mapa (lugar que quieres resaltar)

center: new google.maps.LatLng(23.05286541241737, -82.42761864744568),

//para establecer el tipo de mapa (ROADMAP, SATELLITE, HYBRID, TERRAIN)

mapTypeId: google.maps.MapTypeId.ROADMAP

};

//crea el mapa en el elemento que tengo como id "gmap_canvas" (en este ejemplo)

map = new google.maps.Map(document.getElementById("gmap_canvas"), myOptions);

//crea el marcador en el lugar que se quiere destacar

marker = new google.maps.Marker({map: map, position: new google.maps.LatLng(23.05286541241737, -82.42761864744568)});

//Ubica el texto deseado en el marcador

infowindow = new google.maps.InfoWindow({content: "<br/>Lombao Estudios<br/> La Habana, Cuba"});

//evento para abrir el cuadro de texto dando click en el marcador

google.maps.event.addListener(marker, "click", function() {

infowindow.open(map, marker);

});

//para abrir el texto al cargar

infowindow.open(map, marker);

//para lograr que sea responsive

google.maps.event.addDomListener(window, "resize", function() {

var center = map.getCenter();

google.maps.event.trigger(map, "resize");

map.setCenter(center);

});

 

});

}

google.maps.event.addDomListener(window, 'load', init_map);

</script>

<script src="https://maps.googleapis.com/maps/api/js?sensor=false&language=es&callback=init_map" async defer></script>

 

A continuación, te facilito una especie de glosario para la mejor comprensión del trabajo:

//init_map

Es el nombre de la función que se creó al inicio del script.

//con async defer

Es para lograr que la carga sea asíncrona.

En caso de que el sitio sea multilingüe poner en la url del script en lugar de 'language=es' 'language=en'

 

Con esta sencilla guía tienes la ventaja de si usas solo JavaScript y HTML se puede utilizar en el bloque con el filtro fullHTML y no PHPCode, por lo que puede ser cacheado.

 

Saludos, no vemos en el próximo blog, en el cual escribiré sobre: La alternativa de crear un bloque de Facebook adaptable y asíncrono.

KostyaSueni
2020-07-19
cialis professional lawsuit [url=https://cialisdoitnow.com/]buy cialis online[/url] cialis online
DementevaSueni
2020-07-19
3bdb21 aquisto cialis [url=https://cialishowmuch.com/]generic cialis[/url] cialis daily pills [url=http://cialisooie.com/]buy cialis[/url] venta de cialis guatemala [url=https://cialistodo2020.com/]buy generic cialis[/url] cialis price in bangalore [url=http://cialisuqpor.com/]buy generic cialis[/url]
IngaSueni
2020-07-19
cheap viagra gold [url=https://viagraonlinegfsd.com/]viagra without doctor prescription[/url] buy viagraviagra baratos [url=https://viagrashippingtoday.com/]viagra[/url] buy viagrabuy to dapoxetine uk viagra [url=https://viagratodaybest.com/]viagra online[/url] viagra generic
NathoSueni
2020-07-19
1fd021 cialis one day pri [url=http://cialisuqwc.com/]cialis for sale[/url] can i buy cialis at walgreens [url=http://cialisuyew.com/]cialis online[/url] cialis 10 mg dosering [url=http://cialisyytr.com/]buy generic cialis[/url] cheap cialis uk prices [url=http://ciaviagogogo.com/]cheap cialis[/url]
IngaSueni
2020-07-19
follow link viagra overnite [url=https://viagraonlinegfsd.com/]viagra[/url] buy viagrabuy viagra hong kong expat [url=https://viagrashippingtoday.com/]buy viagra[/url] viagra onlineviagra super active ottawa [url=https://viagratodaybest.com/]cheap viagra[/url] viagra online
NathoSueni
2020-07-19
1fd021 buy cialis generic tadalafil [url=http://cialisuqwc.com/]cialis cheap[/url] generic cialis 20mg uk [url=http://cialisuyew.com/]buy cialis online[/url] cialis 5 mg lilly preis [url=http://cialisyytr.com/]generic cialis online[/url] cialis y genrico [url=http://ciaviagogogo.com/]cheap cialis[/url]
DementevaSueni
2020-07-19
cialis buy online south africa [url=https://cialishowmuch.com/]cialis[/url] generic cialisalcohol cialis levitra [url=http://cialisooie.com/]buy cialis online[/url] buy cialiscialis generico en guadalajara [url=https://cialistodo2020.com/]cialis uses[/url] what is cialiscialis generic safety [url=http://cialisuqpor.com/]buy cialis[/url] cialis online
DementevaSueni
2020-07-19
cialis acostumbramiento [url=https://cialishowmuch.com/]cheap cialis online[/url] cheap cialis onlineaptekade cialis 10mg [url=http://cialisooie.com/]cialis for sal[/url] online cialisventa de cialis oeste [url=https://cialistodo2020.com/]is cialis better than viagra[/url] how to take cialiscialis generika kaufen wo [url=http://cialisuqpor.com/]buy cialis[/url] online cialis
KahreSueni
2020-07-19
0bcc21 pay and find someone write assignment [url=https://edpillsnews20.com/]buy viagra[/url] cash advance oshawa [url=http://loansoloie.com/]payday advance loan[/url]
KahreSueni
2020-07-19
0bcc21 people that do your assigments for money [url=https://edpillsnews20.com/]viagra generic[/url] personal loans for 3000 with bad credit [url=http://loansoloie.com/]payday loans online[/url]

Páginas