"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Ajouter un calque personnalisé au dépliant intégré

Ajouter un calque personnalisé au dépliant intégré

Publié le 2024-11-04
Parcourir:640

Add custom layer to embe-leaflet

Le problème

ember-leaflet est un addon très populaire de l'écosystème EmberJS qui permet une grande flexibilité.

Mais que se passe-t-il si je souhaite étendre ses fonctionnalités afin qu'il puisse faire encore plus ? Et que se passe-t-il si je le souhaite en tant que nouveau composant généré directement à partir des couches  ?

La solution

Dans un premier temps, nous aurons besoin de notre nouveau composant. Pour plus de simplicité, ce composant étendra simplement un composant de couche existant à partir du module complémentaire. Utilisons le composant marqueur et faisons en sorte qu'il ignore simplement l'argument d'emplacement et définisse une fausse valeur codée en dur :

// app/components/fake-marker-layer.gts

import MarkerLayer from 'ember-leaflet/components/marker-layer';

export default class FakeMarkerLayer extends MarkerLayer {
  get location() {
    return this.L.latLng(46.68, 7.85);
  }
}

Après cela, nous devrons enregistrer le composant auprès du service ember-leaflet :

// app/instance-initializers/leaflet.ts

import FakeMarkerLayer from '../components/fake-marker-layer';
import type Owner from '@ember/owner';

export function initialize(owner: Owner) {
  const emberLeafletService = owner.lookup('service:ember-leaflet');

  if (emberLeafletService) {
    emberLeafletService.registerComponent('fake-marker-layer', {
      as: 'fake-marker',
      component: FakeMarkerLayer,
    });
  }
}

export default {
  initialize,
};

Et maintenant nous pouvons l'utiliser :

import LeafletMap from 'ember-leaflet/components/leaflet-map';


Remarques

Vous pouvez également en savoir plus sur cette technique sur la page de documentation officielle du dépliant de braises.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/michalbryxi/add-custom-component-to-embe-leaflet-5475?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3