Surpasser une étiquette dans le style standard Mapbox
Override a Label in the Mapbox Standard Style
Dans le Mapbox Standard Style, la complexité de son style de calque est supprimée — vous pouvez le configurer avec des variables prédéfinies, mais vous ne pouvez pas modifier directement ses calques. C'est par la conception, et vous permet de bénéficier d'améliorations continues par nos concepteurs de cartes. Alors que faites-vous quand vous avez besoin d'une étiquette pour dire quelque chose de différent, apparaître à un niveau de zoom différent, ou tout simplement pas apparaître du tout? Voici une technique pour remplacer chirurgicalement une seule étiquette par la vôtre, tout en gardant tout le reste dans le style Standard intact et correspondant précisément au style de l'étiquette. Dans l'exemple intégré ci-dessous, nous avons remplacé le label "New York" par "New Amsterdam". Pourquoi ils l'ont changé, je ne peux pas dire. Les Avec un style classique ? Si vous êtes dans un style classique Mapbox où vous avez un accès direct à...
Dans le Mapbox Standard Style, la complexité de son style de calque est supprimée — vous pouvez le configurer avec des variables prédéfinies, mais vous ne pouvez pas modifier directement ses calques. C'est par la conception, et vous permet de bénéficier d'améliorations continues par nos concepteurs de cartes. Alors que faites-vous quand vous avez besoin d'une étiquette pour dire quelque chose de différent, apparaître à un niveau de zoom différent, ou tout simplement pas apparaître du tout? Voici une technique pour remplacer chirurgicalement une seule étiquette par la vôtre, tout en gardant tout le reste dans le style Standard intact et correspondant précisément au style de l'étiquette. Dans l'exemple intégré ci-dessous, nous avons remplacé le label "New York" par "New Amsterdam". Pourquoi ils l'ont changé, je ne peux pas dire. Les Avec un style classique ? Si vous êtes sur un style Mapbox classique où vous avez un accès direct à éditer les calques de symboles, il y a une approche plus simple : remplacer le texte de l'étiquette par une expression directement sur le calque. Voir Personnaliser le texte de l'étiquette dans les documents Mapbox. Ce post concerne spécifiquement le style Standard, où les couches internes ne sont pas modifiables, ce qui nécessite une technique différente. Étape 1: Obtenez les coordonnées et les propriétés exactes de la fonction d'étiquette La plupart des étiquettes de carte proviennent du calque source dans le carrelage Mapbox Streets. Voici une carte simple qui montre seulement les points de la couche source (et les caractéristiques d'eau pour référence). Cliquez sur une étiquette et vous verrez ses données complètes, y compris les coordonnées et propriétés : Copiez la fonctionnalité complète GeoJSON. Les champs comme , , , , , et tous contrôlent comment l'étiquette est style et à quel niveau de zoom il apparaît. Vous aurez besoin de correspondre à ces lors de la construction de votre fonction de remplacement. Étape 2: Construisez un style personnalisé qui importe Standard Au lieu de charger le style Standard directement, créez un style de haut niveau JSON qui importe Standard et ajoute votre propre source à côté de celui-ci: Les URL et les URL doivent pointer vers les actifs du style Standard. Sans eux, les icônes de points et les polices utilisées par les étiquettes de règlement ne résolvent pas. Étape 3: Ajouter un calque qui reflète le style de style Standard Le style Standard rend les étiquettes de ville en utilisant des calques comme et . Vous pouvez les inspecter en appelant sur une carte de style standard. Ils contiennent des expressions de style Mapbox complexes pour prendre en charge les propriétés de configuration comme , , et . Pour un remplacement simple, vous pouvez supprimer cette complexité et coder les valeurs résolues pour votre préréglage cible. Voici à quoi ressemble une fonction , non capital dans le préréglage de jour par défaut: Le moteur de placement des symboles du rendeur supprimera l'étiquette d'origine lorsque votre remplacement occupera le même emplacement — dans la plupart des cas, aucun travail supplémentaire n'est nécessaire. Si l'étiquette originale saigne, vous pouvez ajouter un petit calque autour du point pour le supprimer explicitement. Caveats Cette couche est à vous de maintenir. Le style Mapbox Standard est activement maintenu et mis à jour. Si Mapbox modifie le style des étiquettes de règlement dans une version future, votre calque personnalisé ne suivra pas automatiquement. Vous devrez ré-inspecter les couches internes et mettre à jour votre configuration pour correspondre. Les valeurs codées en dur n'honoreront pas la configuration de style standard. En résolvant , , etc. à leurs par défaut, vous avez opté pour ces crochets de personnalisation. Si vous voulez que votre étiquette réponde aux changements de thème ou de lumière prédéfinis, apportez la configuration et le schéma de la couche complète au lieu des valeurs de codage dur. Le placement des étiquettes dépend du contexte. La valeur dans le carrelage est calculée en fonction de la densité de l'étiquette environnante à la génération de carrelage. En isolation, votre étiquette utilisera la bonne direction d'ancrage, mais le placement exact peut sembler légèrement différent de ce qu'il serait entouré d'autres étiquettes.