উত্তর:
এই টিউটোরিয়ালটি একটি ভাল উদাহরণ হিসাবে কাজ করে:
1) উদাহরণ হিসাবে দেখানো হয়েছে, আপনার বেস স্তরগুলি একটি ভেরিয়েবল নামের সাথে সেট আপ করুন যা আপনি কার্যক্রমে সেগুলি স্যুইচ করতে চান যেখানে ফাংশনে অ্যাক্সেস করা যায়।
var grayscale = L.tileLayer(mapboxUrl, {id: 'MapID', attribution: mapboxAttribution}),
streets = L.tileLayer(mapboxUrl, {id: 'MapID', attribution: mapboxAttribution});
2) তারপরে আপনি যে স্তরগুলি যুক্ত করতে বা সরাতে চান সেটি যোগ করুন এবং মুছে ফেলুন। নিম্নলিখিত grayscale
স্তরটির জন্য স্তরটি অদলবদল করে streets
। এই ধরে নেয় যে উভয় grayscale
এবং streets
ফাংশন যেখানে আপনি সুইচিং করছেন পরিধি মধ্যে উপলব্ধ।
map.removeLayer(grayscale);
map.addLayer(streets);
3) আপনি L.control.layers
উদাহরণে প্রদর্শিত স্তরগুলি নিয়ন্ত্রণ ব্যবহার করে থাকেন, তবে নিয়ন্ত্রণটি মানচিত্রে কী আছে তা ট্র্যাক করে এবং তদনুসারে চেকবক্সগুলিকে পরিবর্তন করে।
Https://stackoverflow.com/a/33762133/4355695 থেকে
সাধারণত মানচিত্রে একটি স্তর যুক্ত করে (উদাঃ myTileLayer.addTo (মানচিত্র)), যদি সেই স্তরটি বেস স্তরগুলির স্তর স্তরগুলি বা স্তর নিয়ন্ত্রণের ওভারলেগুলির অংশ হয়, তবে পরবর্তীটি স্বয়ংক্রিয়ভাবে তার স্থিতিটি আপডেট করবে (যদি আপনি একটি বেস স্তর যোগ করেন, রেডিও বোতামগুলি সেই অনুযায়ী নির্বাচন করা হবে; একটি ওভারলেয়ের জন্য, সংশ্লিষ্ট চেকবক্সটি টিক দেওয়া হবে)।
আমি চেষ্টা করেছিলাম এবং এটি কাজ করেছে: আমার বর্তমান বেসলেয়ারটি সরিয়ে নিয়ে (বা কোন বিষয়ে কোনটি সক্রিয় তা নির্ধারণের সাথে) আমাকে বিরক্ত করার দরকার নেই। কেবল myTileLayer.addTo(map)
কাজটি করে: যদি এটি ইতিমধ্যে আমার বেসলেয়ারগুলির অংশ হয় তবে মানচিত্রটি এটিতে "স্যুইচ করে"। এটি স্বয়ংক্রিয়ভাবে বর্তমান স্তরটি সরিয়ে দেয় এবং এতে পরিবর্তিত হয় myTileLayer
।
mapboxUrl
এবংmapboxAttribution
?