2013-08-30 11 views
5

Ich mache ein Projekt mit Google Maps API v3. Ich möchte eine vollständige Liste von Punkten tragen, die Restaurants haben werden, und wollte dem Benutzer irgendwie erlauben, die Art des Restaurants auszuwählen, sich als den Typ zeigend und sich versteckend.Google Maps API-Marker in Schichten

Dies ist mit Ebenen möglich, oder ist es richtiger, lösche ich alle Punkte und lade sie erneut auf die Karte, dies kann es langsam machen.

tks

Antwort

12

Sie brauchen sie nicht, sie zu entfernen und fügen Sie wieder zu Ihrer Karte. Ein Ansatz, den Sie machen können, ist separate Arrays für die verschiedenen "Arten" von Restaurants aus Ihrem ursprünglichen Array zu erstellen. Und erstellen Sie eine Reihe von Markierungen basierend auf den einzelnen Arrays.

Es gibt eine marker option namens visible, die Sie einstellen können, wenn Sie Ihre Marker instanziieren, können Sie dies auf false setzen, um zu starten. Je nachdem, welche Ebene ausgewählt ist (z. B. in einem Kontrollkästchen), können Sie die Sichtbarkeit mit den Zeichen setVisible(true/false)method für jede der Markierungen im ausgewählten Array umschalten.

Hier ist ein demo von, wie Sie dies implementieren können (nur haben es für ein Array, aber das gleiche würde für alle Ihre Arrays von Restaurant-Typen folgen) - dies würde im Wesentlichen das Ein-/Ausschalten Schichten auf einer Karte nachahmen.

+0

tks für code ... es funktioniert –