"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > embe-leaflet에 사용자 정의 레이어 추가

embe-leaflet에 사용자 정의 레이어 추가

2024-11-04에 게시됨
검색:974

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';


메모

이 기술에 대한 내용은 공식 엠버 전단지 문서 페이지에서도 읽을 수 있습니다.

릴리스 선언문 이 글은 https://dev.to/michalbryxi/add-custom-comComponent-to-embe-leaflet-5475?1에서 복제됩니다.1 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3