Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Diseño web | Promoción web | Ganar dinero
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

Manejar un evento en un mapa de Google para reposicionar una marca


Seguimos viendo ejemplos de eventos en mapas de Google: evento click en el mapa para recolocar una marca.


31/12/07 - En el anterior capítulo del manual de desarrollo con el API de mapas de Google vimos los primeros detalles sobre el tratamiento de eventos. Ahora vamos a seguir con otro ejemplo de desarrollo en el que vamos a hacer un mapa que tiene una marca. Pulsando en cualquier parte del mapa reposicionaremos la marca a la posición donde se ha hecho clic.

El evento que vamos a ver es el click en el objeto map, de la clase GMap2. En este caso, recuperaremos el punto donde se ha hecho click para colocar la marca en ese punto.

Primero veamos el código para crear el mapa con una marca:

var map = new GMap2(document.getElementById("map"));   
map.setCenter(new GLatLng(40,-4),3);   
map.addControl(new GLargeMapControl());
map.setMapType(G_NORMAL_MAP);

var point = new GPoint (-4,40);
var marker = new GMarker(point);
map.addOverlay(marker);


Este mapa, centrado en España, tiene una marca también en España. Ahora veamos el sencillo código para detectar un evento de tipo click sobre el mapa:

GEvent.addListener(map, "click", function (overlay,point){
   if (point){
      marker.setPoint(point);
   }
});


Se crea el escuchador de eventos, para el objeto map y el tipo de evento click, ejecutando una función que recibe dos parámetros (overlay,point). Recordamos que overlay es la marca sobre la que se ha pulsado, si es que se pulsó sobre una marca, y point es el punto donde se ha hecho clic del mapa, si es que se pulsó sobre un área vacía del mapa.

En la función empezamos con un if(point) que sirve para saber si hemos recibido un punto (Sólo recibimos el punto si se ha pulsado sobre un área vacía del mapa), porque sólo entonces queremos recolocar la marca. Entonces llamamos al método de la marca setPoint(point) para reposicionar la marca al punto recibido por parámetro.

Es bien simple ¿no? Podemos ver el ejemplo en marcha en este enlace.

Para acabar, os dejo el código completo de este ejercico:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=ISO-8859-1">
<title>Mapa de Google</title>
<script src="http://maps.google.com/maps?file=api&v=2&key=llave"
type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[

function load() {
   if (GBrowserIsCompatible()) {
      var map = new GMap2(document.getElementById("map"));   
      map.setCenter(new GLatLng(40,-4),3);   
      map.addControl(new GLargeMapControl());
      map.setMapType(G_NORMAL_MAP);
      
      var point = new GPoint (-4,40);
      var marker = new GMarker(point);
      map.addOverlay(marker);
      
      GEvent.addListener(map, "click", function (overlay,point){
         if (point){
            marker.setPoint(point);
         }
      });
   }
}

window.onload=load
//]]>
</script>

</head>

<body>
   <div id="map" style="width: 765px; height: 388px"></div>
   
</body>
</html>

 Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 2 categorias relacionadas
+ 1 comentario no revisado

 Autoría, licencia y acciones sobre este artículo

Informe de Miguel Angel Alvarez*
Director de DesarrolloWeb.com
URL: http://www.desarrolloweb.com

Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.

* Para consultas técnicas utilizar la lista de correo.

Versión imprimible Versión imprimible del artículo
Enviar artículo por e-mail Enviar artículo por e-mail
Añadir un comentario al artículo Publicar un comentario del artículo

Manuales relacionados con este artículo
Dentro de Manual del API de Google Maps

Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en Ajax
+ Entrar en Google Maps


 Comentarios sin revisar
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
 Se ha encontrado un comentario sin revisar

Ver el comentario no revisadoVer los comentarios no revisados
Añadir un comentario al artículo Añadir un comentario del artículo
  Ir arriba

Manuales relacionados
+Manual del API de Google Maps
Categorías
+Ajax
+Google Maps

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia