Ir al contenido

Añadir marcas dinámicamente a un mapa de Google Maps

En este ejemplo vamos a ver cómo podemos añadir una marca a un mapa de forma dinámica. Para ello vamos a utilizar lo aprendido en los ejemplos Cómo añadir una marca a Google Maps y Detectar la longitud y latitud sobre un mapa de Google Maps.

Y es que el ejemplo es una combinación de creación de marcas y gestión de eventos onclick sobre el mapa.

Lo primero, como hacemos siempre, será cargar el mapa de Google Maps.

var myLatlng = new google.maps.LatLng(40.674389,-4.700432);
var mapOptions = {
zoom: 12,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);

Lo siguiente será registrar el evento onclick sobre el mapa mediante el método addListener.

google.maps.event.addListener(map, 'click', function(event) {
addMark(event.latLng);
});

Lo que hemos hecho ha sido invocar al método addMark, el cual recibirá un objeto de tipo LatLng con la longitud y latitud en la cual vamos a añadir la marca.

Si revisamos el método addMark veremos que lo que vamos a hacer es crear un objeto de tipo Marker de Google Maps, que es el que representa a las marcas. Y dicho objeto tendrá como posición la recibida en el parámetro LatLng.

function addMark(location){
marker = new google.maps.Marker({
position: location,
map: map
});
}

Así ya tenemos añadida la marca al mapa de Google Maps de forma dinámica utilizando un click.

Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Añadir marcas dinámicamente a un mapa de Google Maps

Aprende a añadir marcas dinámicamente a un mapa de Google Maps con eventos de clic, mejorando la interactividad de tus aplicaciones web de forma sencilla.

Descargar código