Domanda

Io uso di Google Maps API V3.

la migrazione Il mio sito GMap API V2 -> V3.  ma cavata perché ho usato le clearOverlays () per eliminare un oggetto esistente contemporaneamente dallo V2, ed eliminato un oggetto in quanto era stata abolita in V3 individualmente.

V2

map.clearOverlays();

V3

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

è OK? o altre soluzioni?

È stato utile?

Soluzione

non riuscivo a trovare nulla nel riferimento V3 che esplicitamente cancellare le sovrapposizioni create sulla mappa e ho potuto't trovare nessuna esempi di codice che fanno questo sia.

Credo che sia importante sottolineare l'API V3 è un rilascio molto presto sviluppatore e contiene solo un molto di base insieme di caratteristiche. È del tutto possibile che semplicemente non hanno avuto modo di questa funzionalità ancora. Se si sta lavorando su un sistema live, vi consiglio di bastone con V2 fino V3 è più maturo.

C'è un post sul gruppo degli sviluppatori, che pone la domanda di come l'API deve essere usato con una risposta molto utile al capo prodotto V3:

equivoco su Opzioni v3

EDIT:

OK, sembra che questa funzionalità non è presente l'API deliberatamente al fine di mantenere la caratteristica leggerezza. Si dovrebbe tenere traccia del tuo overlay oggetti stessi e chiamare:

object.set_map(null);

per rimuoverli.

Altri suggerimenti

Ecco quello che faccio:

creare una matrice vuota letterale, spingere i marcatori come li si fanno, e poi espellerli quando necessario

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();

Come Hongwei cita correttamente, la funzione viene chiamata setMap (), non set_map ().

http://code.google.com/ apis / mappe / documentazione / v3 / overlays.html # NascondiMostra

Il problema è che setMap(null) può essere lento quando si hanno molti marcatori.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top