「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > カスタムレイヤーをembe-leafletに追加

カスタムレイヤーをembe-leafletに追加

2024 年 11 月 4 日に公開
ブラウズ:986

Add custom layer to embe-leaflet

問題

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 ドキュメント ページでも読むことができます。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/michalbryxi/add-custom-component-to-embe-leaflet-5475?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3