Pregunta

Yo uso Google Maps API V3.

emigro Mi sitio GMap API V2 -> V3.  pero hecho frente porque yo los clearOverlays () para eliminar un objeto existente a la vez en el V2, y se elimina un objeto en lo que había sido abolida en V3 individual.

V2

map.clearOverlays();

V3

map.set_visible(false);
popup.close();

¿está bien? u otras soluciones?

¿Fue útil?

Solución

No pude encontrar nada en el referencia V3 que despejará explícitamente las superposiciones creadas en el mapa y me could't encontrar ejemplos de código que hacen esto tampoco.

Creo que es importante señalar la API V3 es una versión para desarrolladores muy temprano y contiene sólo un muy básico conjunto de características. Es muy posible que simplemente no han llegado a esta funcionalidad todavía. Si está trabajando en un sistema real, le sugiero que se pega con V2 hasta V3 es más maduro.

Hay un puesto en el grupo desarrollador el que hace la pregunta acerca de cómo el API se debe utilizar con una respuesta muy útil desde el gerente de producto V3:

idea errónea acerca de las opciones v3

EDIT:

OK, parece que esta funcionalidad no se encuentra en la API de forma deliberada con el fin de mantenerlo ligero. Usted debe mantener un registro de su superposición de objetos a sí mismo y llame a:

object.set_map(null);

para eliminarlos.

Otros consejos

Esto es lo que hago:

crear una matriz vacía literal, empujar los marcadores medida que los hacen, y luego desalojarlos cuando sea necesario

var eviction_list = [];

function evictMarkers() {

    // clear all markers

    $(eviction_list).each(function () {
         this.set_map(null);
    });

    // reset the eviction array 
    eviction_list = [];
}

//in function adding markers
......
marker = new google.maps.Marker({
    position: results[0].geometry.location,
    map: map,
    title: elem.title
});
eviction_list.push(marker);
......

//to clear all markers
evictMarkers();

Como hongwei menciones correctamente, la función se llama setMap (), no set_map ().

http://code.google.com/ apis / maps / documentation / v3 / overlays.html # OcultarMostrar

El problema es que setMap(null) puede ser lento cuando tiene muchos marcadores.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top