2012-04-04 21 views
6

Tengo un administrador de planos que permite al usuario dibujar un polígono. Cuando el usuario termine de dibujar ese polígono, calculo el área de ese polígono. Todo esto funciona perfectamente excepto para editar el manejo de eventos del polígono. Yo uso el siguiente códigoEvento de edición de polígonos api v3 de Google Maps no activado en todos los identificadores

google.maps.event.addListener(path, "set_at", function(){ 
    //my code here 
}); 

Así que este tipo de obras, pero sólo funciona para las "esquinas" del polígono. Hay manejadores de edición intermedios y apenas visibles (cuadrados) entre las manijas blancas principales. Si edito el polígono tirando de uno de estos controladores, el evento no se dispara.

¿Alguna idea de este comportamiento? ¿Esto es intencionado o algún tipo de error con la API o mi código?

Gracias por cualquier ayuda.

Greg

Respuesta

9

El evento "set_at" se activa cuando un LatLng en un camino se actualiza. Esto ocurre cuando mueve esos nodos cuadrados existentes (cambiando el LatLng de ese nodo). Los 'cuadrados ligeramente grisáceos' en los bordes de las superposiciones le permiten al usuario agregar nuevos LatLngs a la ruta, en lugar de editar uno existente (notará que mueve un nodo en gris con la creación de otra esquina). En este caso, agregue un eventListener para "insert_at" en lugar de "set_at" para manejar cuando se agregan nuevos LatLngs a la ruta de formas.

+0

Explicación perfecta. Muchas gracias. Trabajado como un encanto. – geraldcor

Cuestiones relacionadas