web-dev-qa-db-fra.com

Comment trouver toutes les couches dans Mapboxgl? En fin de compte, je veux afficher la couche personnalisée uniquement sur l'eau et non sur la terre

J'ai créé un calque de cercle personnalisé. Je veux montrer cette couche uniquement sur l'eau et non sur la terre. J'ai réussi à faire le contraire (c'est-à-dire: montrer la couche sur terre et non sur l'eau) en utilisant la commande ci-dessous. Référez-vous à cette image pour une meilleure compréhension

map.moveLayer ('polygone', 'eau');

Maintenant, j'ai besoin de connaître la couche terrestre utilisée par mapboxgl pour pouvoir appeler la fonction map.moveLayer('polygon','land'); pour obtenir ce que je veux.

J'ai besoin d'aide pour trouver les différentes couches présentes sur la carte mapboxgl-rues. Mais malheureusement, Mapboxgl n'a pas la fonction map.eachLayer.

15
Prasanna Elangovan

Vous pouvez utiliser le Map#getStyle méthode pour obtenir une représentation sérialisée de tout le style, y compris les calques.

map.getStyle().layers
29

Cela dépend du style de carte que vous utilisez. En général, vous devez soit regarder sa source, soit la charger dans Mapbox Studio pour identifier le nom de couche correct. Gardez également un œil sur https://github.com/mapbox/mapbox-gl-js/issues/417 .

1
sgelb