ম্যাপবক্স / লিফলেটে কীভাবে বেস স্তরটিকে সুইচ করবেন


12

আমার একাধিক বেস স্তর রয়েছে এবং আমার অ্যাপ্লিকেশনটিতে বিভিন্ন ক্রিয়া এবং অবস্থার উপর নির্ভর করে প্রোগ্রামগতভাবে সেগুলি স্যুইচ করা দরকার। কীভাবে খুঁজে পাচ্ছি না, আমার জীবনের জন্য।

উত্তর:


16

এই টিউটোরিয়ালটি একটি ভাল উদাহরণ হিসাবে কাজ করে:

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উদাহরণে প্রদর্শিত স্তরগুলি নিয়ন্ত্রণ ব্যবহার করে থাকেন, তবে নিয়ন্ত্রণটি মানচিত্রে কী আছে তা ট্র্যাক করে এবং তদনুসারে চেকবক্সগুলিকে পরিবর্তন করে।


কোথায় mapboxUrlএবং mapboxAttribution?
মোহাম্মদ দায়ান

@ মোহাম্মদদায়ান আপনাকে উপরের লিঙ্কযুক্ত টিউটোরিয়ালটি উল্লেখ করতে হবে
টমস

0

Https://stackoverflow.com/a/33762133/4355695 থেকে

সাধারণত মানচিত্রে একটি স্তর যুক্ত করে (উদাঃ myTileLayer.addTo (মানচিত্র)), যদি সেই স্তরটি বেস স্তরগুলির স্তর স্তরগুলি বা স্তর নিয়ন্ত্রণের ওভারলেগুলির অংশ হয়, তবে পরবর্তীটি স্বয়ংক্রিয়ভাবে তার স্থিতিটি আপডেট করবে (যদি আপনি একটি বেস স্তর যোগ করেন, রেডিও বোতামগুলি সেই অনুযায়ী নির্বাচন করা হবে; একটি ওভারলেয়ের জন্য, সংশ্লিষ্ট চেকবক্সটি টিক দেওয়া হবে)।

আমি চেষ্টা করেছিলাম এবং এটি কাজ করেছে: আমার বর্তমান বেসলেয়ারটি সরিয়ে নিয়ে (বা কোন বিষয়ে কোনটি সক্রিয় তা নির্ধারণের সাথে) আমাকে বিরক্ত করার দরকার নেই। কেবল myTileLayer.addTo(map)কাজটি করে: যদি এটি ইতিমধ্যে আমার বেসলেয়ারগুলির অংশ হয় তবে মানচিত্রটি এটিতে "স্যুইচ করে"। এটি স্বয়ংক্রিয়ভাবে বর্তমান স্তরটি সরিয়ে দেয় এবং এতে পরিবর্তিত হয় myTileLayer

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.