"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > एम्बे-लीफलेट में कस्टम लेयर जोड़ें

एम्बे-लीफलेट में कस्टम लेयर जोड़ें

2024-11-04 को प्रकाशित
ब्राउज़ करें:247

Add custom layer to embe-leaflet

समस्या

एम्बर-लीफलेट एम्बरजेएस इकोसिस्टम का एक बहुत लोकप्रिय ऐडऑन है जो बहुत अधिक लचीलेपन की अनुमति देता है।

लेकिन क्या होगा यदि मैं इसकी कार्यक्षमता को बढ़ाना चाहूं ताकि यह और भी अधिक कार्य कर सके? और क्या होगा यदि मैं इसे सीधे s परतों से एक नए प्राप्त घटक के रूप में चाहता हूँ?

समाधान

सबसे पहले हमें अपने नए घटक की आवश्यकता होगी। सरलता के लिए यह घटक ऐडऑन से मौजूदा परत घटक का विस्तार करेगा। आइए मार्कर घटक का उपयोग करें और इसे ऐसा बनाएं कि यह स्थान तर्क को अनदेखा कर दे और एक नकली, हार्डकोडेड मान सेट कर दे:

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

इसके बाद हमें घटक को एम्बर-लीफलेट सेवा के साथ पंजीकृत करना होगा:

// 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-component-to-embe-leaflet-5475?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.com से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3