যখন আপনি একটি ওয়েব অ্যাপে একটি ম্যাপ ইন্টিগ্রেট করেন, একটি আর্কিটেকচারাল সিদ্ধান্ত পরবর্তী সবকিছু গঠন করে: রাস্টার টাইলস নাকি ভেক্টর টাইলস। সঠিকভাবে করলে আপনার ম্যাপ দ্রুত, সুন্দর এবং অভিযোজনযোগ্য। ভুলভাবে করলে আপনি একটি পিক্সেলেটেড, ধীরগতির ব্যাকগ্রাউন্ড ইমেজ পাঠাচ্ছেন যা প্রতিটি বাঁকে আপনার ডিজাইন সিস্টেমের বিরুদ্ধে লড়াই করে।
এই গাইডটি দুটি ফর্ম্যাটের মধ্যে টেকনিক্যাল পার্থক্য ব্যাখ্যা করে, একজন ফ্রন্টএন্ড ডেভেলপারের কাছে আসলে গুরুত্বপূর্ণ বাস্তব-বিশ্বের আপোসের মধ্য দিয়ে হাঁটে এবং আপনাকে একটি স্পষ্ট সিদ্ধান্ত কাঠামো দেয়। শেষ পর্যন্ত, আপনি ঠিক জানবেন আপনার প্রজেক্টের জন্য কোন ফর্ম্যাট বেছে নিতে হবে এবং MapAtlas-এ ভেক্টর টাইলস দিয়ে কীভাবে শুরু করতে হবে।
টাইল ফর্ম্যাট প্রশ্নটি প্রায় প্রতিটি ম্যাপিং প্রজেক্টে প্রথমদিকে উঠে আসে, এবং ইন্টারনেট "ভেক্টর টাইলস নতুন" এ থেমে যাওয়া সার্ফেস-লেভেল উত্তরে পূর্ণ। এই গাইডটি আরও গভীরে যায়, রেন্ডারিং পাইপলাইন, পেলোড সাইজ, ব্রাউজার সামঞ্জস্যতা, স্টাইলিং নিয়ন্ত্রণ এবং নির্দিষ্ট পরিস্থিতি কভার করে যেখানে রাস্টার টাইলস সঠিক কল থেকে যায়।
যদি আপনি ইতিমধ্যে তৈরি করছেন এবং শুধু কোডের প্রয়োজন, Quick Start সেকশনে যান।
রাস্টার টাইলস কী?
একটি রাস্টার টাইল হলো একটি প্রি-রেন্ডার করা PNG বা JPEG ইমেজ, সাধারণত ২৫৬×২৫৬ বা ৫১২×৫১২ পিক্সেল, একটি নির্দিষ্ট জুম লেভেলে বিশ্বের একটি নির্দিষ্ট টুকরো প্রতিনিধিত্ব করে। যখন একজন ব্যবহারকারী প্যান বা জুম করেন, ব্রাউজার সংলগ্ন বা উচ্চ-রেজোলিউশন টাইলগুলির অনুরোধ করে, যা সার্ভার ইতিমধ্যে রেন্ডার এবং ক্যাশ করেছে।
রেন্ডারিং সম্পূর্ণ সার্ভার-সাইডে ঘটে। ব্রাউজারে আসা টাইল ইমেজটি একটি সম্পূর্ণ ছবি, পিক্সেল ইতিমধ্যে স্থাপন করা, রঙ ইতিমধ্যে বেক করা। ব্রাউজারের কাজ কেবল এটি প্রদর্শন করা।
রাস্টার টাইল সার্ভার কীভাবে কাজ করে
একটি রাস্টার টাইল স্ট্যাক সাধারণত এভাবে দেখায়:
- কাঁচা ভৌগোলিক ডেটা (OpenStreetMap, ক্যাডাস্ট্রাল ডেটা, উচ্চতা মডেল) একটি ডেটাবেজে প্রক্রিয়া করা হয়।
- একটি রেন্ডারিং ইঞ্জিন (Mapnik হলো ক্লাসিক পছন্দ) প্রতিটি জুম লেভেলে টাইলগুলি একটি টাইল ক্যাশে প্রি-রেন্ডার করে।
- একটি টাইল সার্ভার (TileServer GL রাস্টার মোডে, বা একটি ম্যানেজড CDN)
/{zoom}/{x}/{y}.pngURL কনভেনশন দ্বারা ক্যাশড ইমেজগুলি সার্ভ করে।
ফলাফল হলো সহজ, দ্রুত এবং স্টেটলেস। যেকোনো HTTP ক্লায়েন্ট একটি টাইলের অনুরোধ করতে পারে, একটি ব্রাউজার, একটি মোবাইল অ্যাপ, একটি ম্যাপ ইমেজ জেনারেট করা সার্ভার-সাইড প্রক্রিয়া, বা একটি GIS ডেস্কটপ অ্যাপ্লিকেশন।
রাস্টার টাইলের শক্তি
- শূন্য ক্লায়েন্ট-সাইড রেন্ডারিং ওভারহেড। ব্রাউজার শুধু একটি ইমেজ প্রদর্শন করে। WebGL প্রয়োজন নেই, কোনো শেডার কম্পাইলেশন নেই, কোনো ফন্ট রেন্ডারিং নেই।
- সার্বজনীন সামঞ্জস্যতা। Internet Explorer এবং হেডলেস রেন্ডারিং পরিবেশ সহ যেকোনো ব্রাউজার, যেকোনো সংস্করণে কাজ করে।
- পূর্বানুমানযোগ্য চেহারা। ম্যাপটি ঠিক যেভাবে টাইল সার্ভার রেন্ডার করেছে সেভাবেই দেখায়। কোনো ক্লায়েন্ট-সাইড পরিবর্তনশীলতা নেই।
- সহজ সার্ভার-সাইড ইমেজ জেনারেশন। ইমেইল, PDF রিপোর্ট বা সোশ্যাল শেয়ারিং কার্ডের জন্য স্ট্যাটিক ম্যাপ ইমেজ তৈরির জন্য নিখুঁত।
রাস্টার টাইলের দুর্বলতা
- বড় ফাইল সাইজ। একটি সাধারণ ২৫৬×২৫৬ PNG টাইল কন্টেন্ট ঘনত্বের উপর নির্ভর করে ৩০-২০০ KB। একটি Retina (৫১২×৫১২) টাইল হলো চারগুণ পিক্সেল কাউন্ট।
- হাই-DPI স্ক্রিনে পিক্সেলেশন। ১x ডিসপ্লের জন্য রেন্ডার করা একটি টাইল ২x Retina স্ক্রিনে ঝাপসা দেখায় যদি না আপনি @2x টাইলস সার্ভ করেন, আপনার ব্যান্ডউইথ দ্বিগুণ করে।
- কোনো ঘূর্ণন বা টিল্ট নেই। যদি আপনি একটি রাস্টার ম্যাপ ঘোরান, পাঠ্য লেবেলগুলি সাথে ঘোরে এবং অপাঠযোগ্য হয়ে যায়।
- কোনো ক্লায়েন্ট-সাইড স্টাইল পরিবর্তন নেই। রোড রঙ পরিবর্তন করতে, POI আইকন লুকাতে বা ডার্ক মোডে স্যুইচ করতে চান? আপনার একটি নতুন টাইল সেট দরকার, সার্ভার-সাইডে প্রি-রেন্ডার করা।
- জুম ইন্টারপোলেশন। পূর্ণসংখ্যার জুম লেভেলের মধ্যে, ব্রাউজার বিদ্যমান ইমেজ স্কেল করে, যা এটি ঝাপসা করে।
ভেক্টর টাইলস কী?
একটি ভেক্টর টাইলে একটি ম্যাপ অঞ্চলের জন্য কাঁচা ভৌগোলিক ডেটা থাকে, রোড জিওমেট্রি, বিল্ডিং পলিগন, জলাশয়, ভূমি ব্যবহার এলাকা, লেবেল প্লেসমেন্ট ডেটা, কমপ্যাক্ট বাইনারি হিসেবে এনকোড করা (সাধারণত Mapbox Vector Tile ফর্ম্যাট, .mvt)। টাইলে কোনো পিক্সেল নেই। এটি বর্ণনা করে কী সেই অঞ্চলে বিদ্যমান, এটি কেমন দেখা উচিত তা নয়।
রেন্ডারিং সম্পূর্ণ ক্লায়েন্ট-সাইডে ঘটে, WebGL ব্যবহার করে। যখন আপনি একটি Mapbox GL JS-সামঞ্জস্যপূর্ণ ম্যাপ (যেমন MapAtlas) লোড করেন, SDK ভেক্টর টাইলগুলির অনুরোধ করে, জিওমেট্রি ডেটা পায় এবং আপনার স্টাইল স্পেসিফিকেশন ব্যবহার করে রিয়েল টাইমে, প্রতি সেকেন্ডে ৬০ ফ্রেমে একটি <canvas> এলিমেন্টে প্রতিটি রোড, বিল্ডিং এবং লেবেল আঁকে।
ভেক্টর টাইল রেন্ডারিং কীভাবে কাজ করে
Vector tile (.mvt) + Style JSON → WebGL shader → Canvas pixels
স্টাইল JSON (একটি স্ট্রাকচার্ড ফাইল যা আপনি নিয়ন্ত্রণ করেন) রেন্ডারারকে বলে: এই রঙে রোড আঁকো, এই উচ্চতায় বিল্ডিং এক্সট্রুশন আঁকো, লেবেলের জন্য এই ফন্ট ব্যবহার করো, জুম ১২-এর নিচে এই লেয়ার ধরনগুলি লুকাও। নতুন টাইলস ফেচ না করেই রানটাইমে স্টাইল পরিবর্তন করা যায়।
ভেক্টর টাইলের শক্তি
- ছোট পেলোড। বাইনারি-এনকোডেড জিওমেট্রি একটি রেন্ডার করা ইমেজের চেয়ে অনেক বেশি কমপ্যাক্ট। একটি ঘন শহুরে এলাকার জন্য একটি সাধারণ ভেক্টর টাইল হলো ১৫-৫০ KB বনাম সমতুল্য রাস্টার টাইলের জন্য ৮০-২০০ KB।
- যেকোনো রেজোলিউশনে স্পষ্ট। ভেক্টর জিওমেট্রি গাণিতিকভাবে স্কেল করে। একটি Retina ডিসপ্লে একটি স্ট্যান্ডার্ড ডিসপ্লের মতো একই টাইল পায়, রেন্ডারার কেবল আরও পিক্সেল আউটপুট করে।
- মসৃণ জুম এবং ঘূর্ণন। রেন্ডারার কাঁচা জিওমেট্রিতে কাজ করে বলে, জুম ক্রমাগত ইন্টারপোলেট করা যায় এবং ম্যাপ লেবেল সবসময় সোজা রেখে পিচ এবং ঘোরানো যায়।
- সম্পূর্ণ ক্লায়েন্ট-সাইড স্টাইল নিয়ন্ত্রণ। যেকোনো ভিজ্যুয়াল প্রপার্টি পরিবর্তন করুন, রোড রঙ, লেবেল ফন্ট, লেয়ার ভিজিবিলিটি, অস্বচ্ছতা, স্টাইল অবজেক্ট আপডেট করে। কোনো নতুন টাইল রিকোয়েস্ট নেই।
- 3D বিল্ডিং এক্সট্রুশন। ভেক্টর টাইলসে বিল্ডিং উচ্চতা মেটাডেটা অন্তর্ভুক্ত। রেন্ডারাররা WebGL ব্যবহার করে ত্রিমাত্রিকভাবে পলিগন এক্সট্রুড করতে পারে।
- ডেটা-চালিত স্টাইলিং। গতি সীমা অনুযায়ী রোড রঙ করুন, ক্যাটেগরি অনুযায়ী ভূমি ব্যবহার শেড করুন, জনসংখ্যা অনুযায়ী মার্কার স্কেল করুন, সবই টাইলে ডেটা প্রপার্টি দ্বারা চালিত।
ভেক্টর টাইলের দুর্বলতা
- WebGL প্রয়োজন। WebGL সমর্থন নেই মানে কোনো ভেক্টর টাইল রেন্ডারিং নেই। এটি খুব পুরানো ব্রাউজার (IE11) এবং নির্দিষ্ট হেডলেস পরিবেশ বাদ দেয়।
- ক্লায়েন্ট-সাইড CPU/GPU লোড। রেন্ডারিং ব্যবহারকারীর ডিভাইসে ঘটে। লো-এন্ড Android ফোনে বা ভারী লোডেড ডেস্কটপে, অনেক লেয়ার সহ জটিল ম্যাপ স্টাইল ফ্রেম ড্রপ ঘটাতে পারে।
- আরও জটিল প্রাথমিক সেটআপ। আপনার একটি রেন্ডারিং লাইব্রেরি (Mapbox GL JS, MapLibre GL, বা MapAtlas SDK) এবং একটি স্টাইল JSON প্রয়োজন।
- ফন্ট এবং গ্লিফ লোডিং। লেবেল রেন্ডারিংয়ের জন্য গ্লিফ ফাইল আলাদাভাবে সার্ভ করতে হয়।
পারফরম্যান্স তুলনা: বাস্তব সংখ্যা
আপোসটি কংক্রিট করতে, জুম লেভেল ১৪-এ কেন্দ্রীয় আমস্টারডামের একটি ম্যাপ টাইলের জন্য বাস্তব-বিশ্বের পরিমাপ:
| মেট্রিক | রাস্টার (PNG 512px) | ভেক্টর (.mvt) |
|---|---|---|
| টাইল সাইজ | 142 KB | 31 KB |
| Retina-র জন্য অনুরোধ | 1 (@2x tile) | 1 (একই টাইল) |
| জুম ইন্টারপোলেশন | পিক্সেল স্কেলিং (ঝাপসা) | গাণিতিক (স্পষ্ট) |
| ঘূর্ণন সমর্থন | না | হ্যাঁ |
| স্টাইল পরিবর্তন | নতুন টাইল রিকোয়েস্ট | শূন্য রিকোয়েস্ট |
| WebGL প্রয়োজন | না | হ্যাঁ |
স্কেলে, ভেক্টর টাইলস ম্যাপ-সম্পর্কিত ব্যান্ডউইথ ৬০-৮০% কমায়।
কখন রাস্টার টাইলস ব্যবহার করবেন
রাস্টার টাইলস অপ্রচলিত নয়। এমন স্পষ্ট পরিস্থিতি আছে যেখানে সেগুলি সঠিক পছন্দ থাকে:
লেগ্যাসি সিস্টেম ইন্টিগ্রেশন। যদি আপনি একটি .NET WebForms অ্যাপ, সার্ভার-রেন্ডার করা Rails ভিউ, বা এমন পরিবেশে ম্যাপ এম্বেড করছেন যেখানে আপনি শুধু HTML এবং বেসিক JavaScript নিয়ন্ত্রণ করেন, Leaflet বা OpenLayers-এর মাধ্যমে একটি রাস্টার টাইল লেয়ার একটি WebGL রেন্ডারার প্রবর্তনের চেয়ে সহজ এবং আরও নির্ভরযোগ্য।
সার্ভার-সাইড ম্যাপ ইমেজ জেনারেশন। যদি আপনার ইমেইল টেমপ্লেট, PDF এক্সপোর্ট বা ওপেন গ্রাফ ইমেজের জন্য একটি Node.js সার্ভারে ম্যাপ স্ন্যাপশট রেন্ডার করতে হয়, হেডলেস রাস্টার রেন্ডারিং হলো আপনার পাথ।
স্যাটেলাইট এবং এরিয়াল ইমেজ্রি। এরিয়াল ফটোগ্রাফি প্রকৃতিগতভাবে রাস্টার ডেটা। একটি ভেক্টর ম্যাপেও, স্যাটেলাইট ইমেজ্রি লেয়ার সবসময় রাস্টার টাইলস হিসেবে ডেলিভারি পায়।
খুব সহজ ব্যবহারের ক্ষেত্র। একটি যোগাযোগ পেজে একটি স্ট্যাটিক লোকেশন ম্যাপ এম্বেড করছেন? একটি সহজ Leaflet + OpenStreetMap রাস্টার সেটআপ ২০ মিনিট লাগে।
কখন ভেক্টর টাইলস ব্যবহার করবেন
যেকোনো আধুনিক ওয়েব অ্যাপ্লিকেশনের জন্য ভেক্টর টাইলস বেছে নিন যেখানে আপনি যত্ন করেন:
- কাস্টম ব্র্যান্ড স্টাইলিং। আপনার ডিজাইন সিস্টেমে নির্দিষ্ট রঙ থাকলে, আপনার ম্যাপেরও তা থাকা উচিত। ভেক্টর টাইলস এটিকে একটি JSON পরিবর্তন করে তোলে।
- ডার্ক মোড সমর্থন। একটি ডার্ক স্টাইল JSON হলো একটি কনফিগারেশন ফাইল। লাইট এবং ডার্কের মধ্যে সুইচ করা হলো একটি
map.setStyle()কল। - হাই-DPI / Retina শার্পনেস। বিশেষত মোবাইল-ফার্স্ট অ্যাপ এবং যেকোনো UI-এর জন্য গুরুত্বপূর্ণ যেখানে স্পষ্ট রেন্ডারিং একটি ডিজাইন অগ্রাধিকার।
- মসৃণ ব্যবহারকারী অভিজ্ঞতা। একটি ভেক্টর ম্যাপের ক্রমাগত জুম ইন্টারপোলেশন এবং 60fps রেন্ডারিং ব্যবহারকারীদের কাছে তাৎক্ষণিকভাবে লক্ষণীয়।
- ডেটা ভিজ্যুয়ালাইজেশন লেয়ার। একটি ভেক্টর ম্যাপে হিটম্যাপ, ক্লোরোপ্লেথ বা ক্লাস্টার লেয়ার যোগ করার জন্য শুধু ক্লায়েন্ট-সাইড কনফিগারেশন প্রয়োজন।
- 3D বা টিল্টেড পার্সপেক্টিভ। শুধু ভেক্টর টাইলস এবং WebGL দিয়ে অর্জনযোগ্য।
Quick Start: MapAtlas-এ ভেক্টর টাইলস
MapAtlas একটি Mapbox GL JS-সামঞ্জস্যপূর্ণ API-এর মাধ্যমে ভেক্টর টাইলস সার্ভ করে। যদি আপনি আগে Mapbox GL JS ব্যবহার করেছেন, মাইগ্রেশন হলো একটি স্টাইল URL পরিবর্তন এবং একটি API কী সোয়াপ।
SDK ইনস্টল করুন
npm install @mapmetrics/mapmetrics-gl
সাধারণ HTML প্রজেক্টের জন্য CDN-এর মাধ্যমে:
<link rel="stylesheet" href="https://unpkg.com/@mapmetrics/mapmetrics-gl/dist/mapmetrics-gl.css" />
<script src="https://unpkg.com/@mapmetrics/mapmetrics-gl/dist/mapmetrics-gl.js"></script>
একটি ভেক্টর ম্যাপ রেন্ডার করুন
import mapmetricsgl from '@mapmetrics/mapmetrics-gl';
import '@mapmetrics/mapmetrics-gl/dist/mapmetrics-gl.css';
const map = new mapmetricsgl.Map({
container: 'map', // আপনার <div>-এর ID
style: 'https://tiles.mapatlas.eu/styles/basic/style.json?key=YOUR_API_KEY',
center: [4.9041, 52.3676], // [longitude, latitude], Amsterdam
zoom: 12,
pitch: 0, // 0 = টপ-ডাউন, 60 = 3D টিল্টেড
bearing: 0, // 0 = নর্থ-আপ, যেকোনো মান = ঘোরানো
});
style URL MapAtlas সার্ভারে হোস্ট করা একটি JSON ফাইলের দিকে নির্দেশ করে যা সমস্ত লেয়ার, ফন্ট এবং সোর্স সংজ্ঞায়িত করে।
রানটাইমে ডার্ক মোডে স্যুইচ করুন
document.getElementById('toggle-dark').addEventListener('click', () => {
const isDark = map.getStyle().name?.includes('dark');
map.setStyle(
isDark
? 'https://tiles.mapatlas.eu/styles/basic/style.json?key=YOUR_API_KEY'
: 'https://tiles.mapatlas.eu/styles/dark/style.json?key=YOUR_API_KEY'
);
});
ইতিমধ্যে ক্যাশ করা ডেটার জন্য কোনো নতুন টাইল রিকোয়েস্ট ট্রিগার হয় না। শুধু স্টাইল পরিবর্তন হয়, টাইলগুলি একই বাইনারি জিওমেট্রি থাকে, নতুন রঙ দিয়ে পুনরায় রেন্ডার হয়।
একটি GeoJSON ডেটা লেয়ার যোগ করুন
ভেক্টর টাইলের সবচেয়ে শক্তিশালী বৈশিষ্ট্যগুলির একটি হলো একটি স্টাইলড লেয়ার হিসেবে আপনার নিজের ডেটা ওভারলে করা:
map.on('load', () => {
// আপনার নিজের ডেটা সোর্স যোগ করুন
map.addSource('delivery-zones', {
type: 'geojson',
data: {
type: 'FeatureCollection',
features: [
{
type: 'Feature',
geometry: {
type: 'Polygon',
coordinates: [[[4.85, 52.34], [4.95, 52.34], [4.95, 52.40], [4.85, 52.40], [4.85, 52.34]]],
},
properties: { zone: 'Zone A', capacity: 150 },
},
],
},
});
// এটিকে একটি রঙিন ফিল লেয়ার হিসেবে স্টাইল করুন
map.addLayer({
id: 'delivery-zones-fill',
type: 'fill',
source: 'delivery-zones',
paint: {
'fill-color': '#97C70A',
'fill-opacity': 0.2,
},
});
map.addLayer({
id: 'delivery-zones-outline',
type: 'line',
source: 'delivery-zones',
paint: {
'line-color': '#97C70A',
'line-width': 2,
},
});
});
এই প্যাটার্ন, একটি সোর্স যোগ করুন, একটি লেয়ার যোগ করুন, স্টাইল এক্সপ্রেশন দিয়ে পেইন্ট করুন, হিটম্যাপ, রুট লাইন, আইসোক্রোন পলিগন এবং ক্লোরোপ্লেথ ম্যাপের জন্য একই। এটি কাজ করে কারণ ভেক্টর টাইলস রেন্ডারারকে কাঁচা জিওমেট্রি দেয়, সম্পূর্ণ পিক্সেল নয়।
রাস্টার থেকে ভেক্টরে মাইগ্রেট করা
যদি আপনার কাছে একটি বিদ্যমান Leaflet + রাস্টার টাইল সেটআপ থাকে এবং আপগ্রেড করতে চান, এটি হলো ন্যূনতম মাইগ্রেশন পাথ:
- Leaflet প্রতিস্থাপন করুন MapAtlas SDK দিয়ে (বা MapLibre GL JS যদি আপনি একটি সম্পূর্ণ ওপেন-সোর্স রেন্ডারার পছন্দ করেন)।
- টাইল URL প্রতিস্থাপন করুন একটি MapAtlas স্টাইল JSON URL দিয়ে।
- ওভারলে সরান Leaflet লেয়ার থেকে GL JS সোর্স এবং লেয়ারে।
- WebGL-হীন পরিবেশে পরীক্ষা করুন। WebGL না থাকা ব্যবহারকারীদের ছোট শতাংশের জন্য একটি ফলব্যাক বা গ্রেসফুল ডিগ্রেডেশন বার্তা যোগ করুন।
কার্যকরী ফলাফল হলো একটি ম্যাপ যা আরও স্পষ্ট দেখায়, দ্রুত লোড হয় এবং সার্ভার স্পর্শ না করে পুনরায় স্টাইল করা যায়।
একটি ভেক্টর টাইল বেসে মার্কার, পপআপ, অ্যাড্রেস সার্চ এবং React ইন্টিগ্রেশন যোগ করার পূর্ণ ওয়াকথ্রুর জন্য, আপনার ওয়েবসাইটে ইন্টারেক্টিভ ম্যাপ কীভাবে যোগ করবেন দেখুন।
সারসংক্ষেপ: সিদ্ধান্ত কাঠামো
| পরিস্থিতি | প্রস্তাবিত ফর্ম্যাট |
|---|---|
| আধুনিক SPA বা PWA (React, Vue, Svelte) | ভেক্টর টাইলস |
| কাস্টম ব্র্যান্ড রঙ বা ডার্ক মোড | ভেক্টর টাইলস |
| 3D বিল্ডিং বা ম্যাপ টিল্ট/রোটেশন | ভেক্টর টাইলস |
| ডেটা ভিজ্যুয়ালাইজেশন ওভারলে | ভেক্টর টাইলস |
| লেগ্যাসি ব্রাউজার সমর্থন (IE11) | রাস্টার টাইলস |
| সার্ভার-সাইড ইমেজ জেনারেশন | রাস্টার টাইলস |
| স্যাটেলাইট/এরিয়াল ইমেজ্রি লেয়ার | রাস্টার টাইলস |
| সহজ নন-ইন্টারেক্টিভ লোকেশন পিন | রাস্টার টাইলস |
২০২৬ সালে আপনি যদি কিছু ইন্টারেক্টিভ তৈরি করছেন, ভেক্টর টাইলস হলো ডিফল্ট পছন্দ। রাস্টার টাইলস হলো নির্দিষ্ট সামঞ্জস্যতা বা রেন্ডারিং সীমাবদ্ধতার জন্য ইচ্ছাকৃত ব্যতিক্রম।
ভেক্টর টাইলস দিয়ে তৈরি করতে প্রস্তুত? একটি বিনামূল্যে MapAtlas API কী-এর জন্য সাইন আপ করুন, কোনো ক্রেডিট কার্ডের প্রয়োজন নেই। আপনার কী প্রথম দিন থেকে টাইলস, জিওকোডিং, রাউটিং এবং আইসোক্রোন API জুড়ে কাজ করে।
সাধারণ জিজ্ঞাসা
ভেক্টর টাইলস কি রাস্টার টাইলসের চেয়ে ভালো?
বেশিরভাগ আধুনিক ওয়েব অ্যাপের জন্য হ্যাঁ। ভেক্টর টাইলস আকারে ছোট, 60fps-এ মসৃণ জুম ও রোটেশন সহ রেন্ডার হয় এবং ক্লায়েন্ট সাইডে সম্পূর্ণ রিস্টাইল করা যায়। রাস্টার টাইলস বাস্তবায়ন করা সহজ এবং WebGL সমর্থন নেই এমন পরিবেশে কাজ করে, তবে সেগুলি বড়, হাই-DPI স্ক্রিনে পিক্সেলযুক্ত দেখায় এবং ক্লায়েন্ট সাইড স্টাইলিং নিয়ন্ত্রণ নেই।
ভেক্টর টাইলস ব্যবহার করতে কি WebGL দরকার?
হ্যাঁ। Mapbox GL JS এবং MapAtlas SDK-এর মতো ভেক্টর টাইল রেন্ডারার canvas এলিমেন্টে মানচিত্রের জ্যামিতি আঁকতে WebGL ব্যবহার করে। সব আধুনিক ব্রাউজার WebGL সমর্থন করে। যদি আপনাকে খুব পুরনো ব্রাউজার বা canvas ছাড়া সার্ভার-সাইড রেন্ডারিং পরিবেশ সমর্থন করতে হয়, তাহলে রাস্টার টাইলস নিরাপদ বিকল্প।
MapAtlas কি ভেক্টর এবং রাস্টার উভয় টাইলস সমর্থন করে?
MapAtlas মূলত Mapbox GL JS-সামঞ্জস্যপূর্ণ API-এর মাধ্যমে ভেক্টর টাইলস সরবরাহ করে। এর মানে হলো যে কোনো ডেভেলপার যিনি ইতিমধ্যে Mapbox GL JS-এর সাথে পরিচিত, তিনি স্টাইল URL এবং API key আপডেট করে MapAtlas-এ স্যুইচ করতে পারেন, অন্য কোনো কোড পরিবর্তন ছাড়াই।

