2015-11-05 4 views
2

J'ai besoin d'icônes (PNG) et de polygones sur ma carte. Je crée donc des icônes en tant que marqueurs et polygones en tant que polygones. Malheureusement, indépendamment de l'ordre de création, les polygones sont affichés "en dessous" des marqueurs. J'ai besoin est vice-versa. Y a-t-il un moyen, comment le faire?Leaflet: Comment afficher les marqueurs derrière les polygones?

Répondre

1

EDIT:

Corriger vitres par défaut dans la fiche commande 0.x: (du haut vers le bas le plus extrême)

  1. objectsPane
    1. popupPane
    2. markerPane < = all icône marqueurs (autre que L.CircleMarker)
    3. shadowPane < = tout marqueur s icône ombre
    4. overlayPane < = tous les vecteurs (y compris L.CircleMarker)
  2. tilePane

Ainsi, tout en utilisant l'ombre de l'icône du marqueur ne suffit pas. Vous devez manuellement modifier le z-index de ces volets en CSS (ou via JS).

Voir aussi Leaflet: Polyline above Marker.


réponse originale:

L'ordre de la pile de vecteurs (comme vos polygones) et des marqueurs est fixé dans la fiche 0.x. Ils sont insérés dans "panes" quel ordre est (de plus en haut vers le bas le plus):

  1. popupPane
  2. markerPane < = all icône marqueurs (autres que L.CircleMarker)
  3. overlayPane < = tous les vecteurs (y compris L.CircleMarker)
  4. shadowPane < = tous les marqueurs d'ombre icône
  5. tilePane

Vous devriez donc être en mesure de contourner facilement cet ordre fixe en utilisant le Icon shadow du marqueur. Si vous voulez toujours que l'utilisateur puisse cliquer sur votre marqueur, utilisez simplement une image transparente pour l'icône normale, avec la même taille que votre image d'ombre.

La situation est différente dans la fiche 1.0. Vous pouvez créer vos propres volets (map.createPane), définir leur ordre en spécifiant leur zIndex (éventuellement via CSS), et spécifier où vont vos vecteurs et vos marqueurs en utilisant leurs options pane (et shadowPane pour les marqueurs).

+0

Il s'avère que l'ordre initial donné est incorrect par défaut. Vous devez modifier manuellement le 'z-index' de ces volets en CSS. Voir [Leaflet: Polyline above Marker] (http://stackoverflow.com/questions/33808944/leaflet-polyline-above-marker/33813645#33813645) – ghybs