„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Fügen Sie der Embe-Broschüre eine benutzerdefinierte Ebene hinzu

Fügen Sie der Embe-Broschüre eine benutzerdefinierte Ebene hinzu

Veröffentlicht am 04.11.2024
Durchsuche:826

Add custom layer to embe-leaflet

Das Problem

ember-leaflet ist ein sehr beliebtes Add-on aus dem EmberJS-Ökosystem, das viel Flexibilität bietet.

Aber was ist, wenn ich die Funktionalität erweitern möchte, damit es noch mehr kann? Und was ist, wenn ich es als neu erzeugte Komponente direkt aus den Ebenen der haben möchte?

Die Lösung

Zuerst benötigen wir unsere neue Komponente. Der Einfachheit halber erweitert diese Komponente lediglich eine vorhandene Ebenenkomponente des Add-Ons. Lassen Sie uns die Markierungskomponente verwenden und sie so gestalten, dass sie das Standortargument einfach ignoriert und einen gefälschten, fest codierten Wert festlegt:

// 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);
  }
}

Danach müssen wir die Komponente beim Ember-Leaflet-Service registrieren:

// 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,
};

Und jetzt können wir es verwenden:

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


Notizen

Sie können diese Technik auch auf der offiziellen Ember-Broschüren-Dokumentationsseite nachlesen.

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/michalbryxi/add-custom-component-to-embe-leaflet-5475?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3