Índice
Añadir una marca simplePara este ejemplo añadiremos una marca en el centro del mapa. Más adelante veremos como colocar la marca en un punto específico. Para añadir la marca, en el código de nuestra función pondremos:
var center = new GMarker(map.getCenter());
Veamos un ejemplo.
Título de una marcaSi añadimos más de una marca al mapa, quizás nos interese diferenciarlas. Para esto podemos añadirle un título a cada marca y mostrarlo en una ventana de información. También podemos utilizar esta ventana para agregar más información a la marca, como la dirección o una foto del lugar que representa. Veamos cómo se hace. Lo que tenemos que hacer es añadirle un título a la marca, colocando ésta línea después de crear la marca y antes de añadirla al mapa. center.title = "Centro del mapa";
Para mostrar la ventana con el título, una vez añadida la marca al mapa, pondremos: map.openInfoWindowHtml(center.getPoint(), center.title);
El resultado final sería:
var center = new GMarker(map.getCenter());
Continuamos con nuestro ejemplo.
EventosEl problema que tienen las ventanas de información es que, si las cierras, ya no hay forma de volver a abrirlas. Para solucionarlo utilizaremos los eventos, en concreto, el evento "click" del mapa. El funcionamiento será:
El código necesario para realizar todo esto es el siguiente:
GEvent.addListener(map, "click", function(overlay, point){
Colocaremos este código antes de crear las marcas. Con esto podremos cerrar la ventana de información y volver a abrirla sólo con hacer "click" sobre una marca. Veámoslo en el ejemplo.
Colocar las marcas en una dirección concretaYa sabemos como crear marcas y añadirles información. Pero, ¿cómo coloco la marca donde yo quiera? Para poder colocar las marcas utilizaremos el objeto Para empezar, creamos el objeto con el siguiente código: var geocoder = new GClientGeocoder();
Una vez creado el objeto, utilizaremos su función geocoder.getLatLng("Albacete", function(point) {
Podemos ver el resultado en este ejemplo. [Siguiente: Marcas modificables por el usuario]
|