ember-leaflet は、多くの柔軟性を可能にする EmberJS エコシステムの非常に人気のあるアドオンです。
しかし、さらに多くのことができるように機能を拡張したい場合はどうすればよいでしょうか?また、それを
まず、新しいコンポーネントが必要になります。簡単にするために、このコンポーネントはアドオンの既存のレイヤー コンポーネントを拡張するだけです。マーカーコンポーネントを使用して、位置引数を無視して偽のハードコードされた値を設定するようにしましょう:
// 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); } }
この後、コンポーネントを 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, };
これで使用できるようになります:
import LeafletMap from 'ember-leaflet/components/leaflet-map';
このテクニックについては、公式 ember-leaflet ドキュメント ページでも読むことができます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3