2016-03-29 3 views
0

Bei der Anzeige von Suchergebnissen möchte man häufig alle Ergebnisse sowie das angeforderte Element auf derselben Karte sehen.Wie füge ich einen Punkt zum Flugblatt hinzu, der auf der Karte aber unsichtbar sein sollte?

, das zu tun, ich den gesuchten Punkt auf die gleiche Schicht und verwenden Sie die fitBounds Methode wie folgt hinzufügen:

map.fitBounds(markerLayer.getBounds().pad(0.10)); 

Jetzt ist das Problem, meine Markierung auf der Karte noch sichtbar ist und es soll nicht sein . Ist es möglich, die Sichtbarkeit eines einzelnen Markers zu verbergen/umzuschalten?

bisher versucht:

  • die Opazität bei 0. Der Marker Einstellung ist in der Tat nicht sichtbar, aber der Cursor ändert sich nach wie vor auf schweben und Sie können es immer noch klicken.
  • Einstellen der gewünschten Stadtmarkierung in separater Ebene. Nutzlos, da Sie die Grenzen mehrerer Ebenen nicht erreichen können UND selbst wenn Sie diese Ebene in einem LayerGroup gruppieren, können Sie die Grenzen nicht erreichen.

Antwort

2

Sie können die Opazität eines Markers gesetzt:

markerLayer.setOpacity(0); 

(siehe http://leafletjs.com/reference.html#marker-setopacity)


Edit:

Wenn Sie wollen, dass es nicht sein, klickbar, können Sie die clickable Option verwenden, wenn Sie den Marker erstellen:

var markerLayer = L.marker([0, 0], { clickable: false }); 

(siehe http://leafletjs.com/reference.html#marker-clickable)

+0

Das aber das Element funktioniert, ist noch anklickbar und der Mauszeiger auf schweben. –

+0

Ja, weil die Frage speziell nach dem Umschalten * Sichtbarkeit * fragt. Wenn Sie möchten, dass es ** und ** so aussieht, als ob es nicht vorhanden wäre, ist es am einfachsten, den Marker aus der Karte zu entfernen? 'map.removeLayer (markerLayer)' – Nick

+0

Nein, weil ich alle Punkte meiner Ebene verlieren werde, die ich nicht will. Und Sie können nicht die Grenzen mehrerer Ebenen bekommen ... –

Verwandte Themen