আপনার ম্যাপে যোগ করার জন্য উন্নত ফিচার খুঁজছেন? Maps SDK for Android Utility Library হল ক্লাসের একটি ওপেন-সোর্স লাইব্রেরি যা
বিভিন্ন অ্যাপ্লিকেশনের জন্য উপযোগী। GitHub রিপোজিটরিতে ইউটিলিটি ক্লাস এবং একটি ডেমো অ্যাপ অন্তর্ভুক্ত রয়েছে যা প্রতিটি ক্লাসের ব্যবহার ব্যাখ্যা করে।
এই ভিডিওতে, ক্রিস ব্রডফুট ইউটিলিটি লাইব্রেরি নিয়ে আলোচনা করেছেন, যেখানে
পলাইন ডিকোডিং, স্ফেরিক্যাল জ্যামিতি এবং বাবল আইকনের উপর জোর দেওয়া হয়েছে।
আপনি GeoJSON
ফর্ম্যাটে ফিচার স্টোর করতে এবং ম্যাপের উপরে লেয়ার হিসেবে সেগুলি রেন্ডার করতে এই ইউটিলিটি ব্যবহার করতে পারবেন।
ম্যাপে আপনার GeoJSON ডেটা যোগ করতে addLayer() কল করুন।
এছাড়াও, আপনি addFeature() কল করে,
GeoJsonFeature অবজেক্ট পাস করার মাধ্যমে আলাদা আলাদা ফিচার যোগ করতে পারবেন।
এই ইউটিলিটি ব্যবহার করে, আপনি
KML
অবজেক্টকে ভৌগোলিক আকারে কনভার্ট করতে এবং সেগুলিকে ম্যাপের
উপরে একটি লেয়ার হিসেবে রেন্ডার করতে পারবেন। ম্যাপে আপনার লেয়ার যোগ করতে addLayerToMap()-এ কল করুন।
আপনি যেকোনও স্থান চিহ্ন, গ্রাউন্ডওভারলে, ডকুমেন্ট বা ফোল্ডারে
getProperties() কল করে KML অবজেক্টের প্রপার্টি অ্যাক্সেস করতে পারবেন।
হিটম্যাপের সাহায্যে দর্শকরা ম্যাপে ডেটা পয়েন্টের ডিস্ট্রিবিউশন ও আপেক্ষিক তীব্রতা
সহজেই বুঝতে পারেন। প্রতিটি লোকেশনে মার্কার প্লেস করার পরিবর্তে, ডেটার ডিস্ট্রিবিউশন দেখানোর জন্য হিটম্যাপে রঙ ও শেপ ব্যবহার করা হয়।
HeatmapTileProvider তৈরি করুন, এতে ম্যাপে
আগ্রহের স্থানকে প্রতিনিধিত্বকারী LatLng অবজেক্টের
সংগ্রহ পাস করুন। তারপর একটি নতুন
TileOverlay তৈরি করুন,
এটিকে হিটম্যাপ টাইল প্রোভাইডারে পাস করুন এবং ম্যাপে টাইল ওভারলে
যোগ করুন।
আপনার মার্কারের উপর তথ্যের স্নিপেট দেখাতে একটি IconGenerator যোগ করুন।
এই ইউটিলিটি আপনার মার্কার আইকনকে
ইনফো উইন্ডোর মতো করে দেখানোর একটি উপায় প্রদান করে, কারণ মার্কারের মধ্যে টেক্সট
ও অন্যান্য কন্টেন্ট থাকতে পারে। এর সুবিধা হল, আপনি একই সময়ে একাধিক মার্কার
খোলা রাখতে পারবেন, যেখানে একটি ইনফো উইন্ডো একবারে খোলা রাখা যায়।
এছাড়াও, আপনি মার্কারের স্টাইল পরিবর্তন করতে, মার্কারের দিকনির্দেশ
এবং/অথবা কন্টেন্ট পরিবর্তন করতে এবং মার্কারের ব্যাকগ্রাউন্ড ছবি/নাইন-প্যাচ পরিবর্তন করতে পারবেন।
মার্কার ক্লাস্টার ম্যানেজ করা
ClusterManager আপনাকে বিভিন্ন জুম লেভেলে
একাধিক মার্কার ম্যানেজ করতে সাহায্য করে। এর অর্থ হল, আপনি ম্যাপটি পড়তে অসুবিধা না করেই
সেটিতে প্রচুর সংখ্যক মার্কার যোগ করতে পারবেন। কোনও ব্যবহারকারী ম্যাপকে
হাই জুম লেভেলে দেখলে, ম্যাপে আলাদা আলাদা মার্কার দেখা যায়। ব্যবহারকারী
কম জুম লেভেলে জুম-আউট করলে, মার্কারগুলি একসাথে
ক্লাস্টার তৈরি করে, যাতে ম্যাপটি আরও সহজে দেখা যায়।
আপনি GeoJSON, KML ও ক্লাস্টার থেকে ফিচার দেখাতে পারবেন — সেইসাথে আপনার
নিজস্ব মার্কার, পলিলাইন ও পলিগন — সবই একই ম্যাপে। প্রতিটি লেয়ারে ক্লিক লিসনার যোগ করে
এইসব লেয়ারকে ইন্ট্যার্যাক্টিভও করে তোলা যায়।
আপনি এগুলি সেট-আপ করার সময়, MarkerManager, GroundOverlayManager, PolygonManager ও PolylineManager ক্লাস ইনস্ট্যানশিয়েট করুন এবং
GeoJsonLayer, KmlLayer,
ClusterManager-এর কনস্ট্রাক্টরে পাস করুন। আপনি ম্যাপে নিজের মার্কার, পলিলাইন ও পলিগন যোগ করতে
সরাসরি উপরের Manager ক্লাস ব্যবহার করতে পারবেন।
বিস্তারিত জানতে, Google Maps Android
মাল্টি লেয়ার ডেমোর
ডকুমেন্টেশন দেখুন।
পলিলাইন
এনকোড ও ডিকোড করা
এনকোড করা পলিলাইন ও
বহুভুজকে অক্ষাংশ/দ্রাঘিমাংশের কোঅর্ডিনেটে এবং এর বিপরীত কনভার্ট করার জন্য PolyUtil কার্যকর।
Google Maps-এ, অক্ষাংশ ও দ্রাঘিমাংশ কোঅর্ডিনেট যা একটি
পলাইন বা বহুভুজকে সংজ্ঞায়িত করে, তা এনকোড করা স্ট্রিং হিসেবে স্টোর করা হয়। পলিলাইন
এনকোডিং-এর
বিস্তারিত ব্যাখ্যা
দেখুন। আপনি Google API থেকে পাওয়া উত্তরে এই এনকোড করা স্ট্রিং পেতে পারেন, যেমন Directions API (Legacy)।
আপনি Maps SDK for Android Utility
লাইব্রেরিতে PolyUtil ব্যবহার করে অক্ষাংশ/দ্রাঘিমাংশের কোঅর্ডিনেটের ('LatLngs')
ক্রমকে এনকোড করা পাথ স্ট্রিংয়ে এনকোড করতে এবং এনকোড করা পাথ স্ট্রিংকে
LatLng-এর ক্রমে ডিকোড করতে পারবেন। এটি Google
Maps API ওয়েব পরিষেবার সাথে ইন্টারঅপারেবিলিটি নিশ্চিত করবে।
স্ফেরিক্যাল জ্যামিতির মাধ্যমে দূরত্ব, ক্ষেত্রফল ও
শীর্ষক গণনা করা
SphericalUtil-এ স্ফেরিক্যাল জিওমেট্রি ইউটিলিটি ব্যবহার করে, আপনি
অক্ষাংশ এবং দ্রাঘিমাংশের উপর ভিত্তি করে দূরত্ব, এলাকা এবং শিরোনাম গণনা করতে
পারেন। ইউটিলিটিতে উপলভ্য কিছু পদ্ধতি এখানে দেওয়া হল:
computeDistanceBetween() – দুটি অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্কের মধ্যে দূরত্ব,
মিটারে, ফেরত দেয়।
computeHeading() – দুটি অক্ষাংশ/দ্রাঘিমাংশ কোঅর্ডিনেটের মধ্যে
ডিগ্রিতে বেয়ারিং রিটার্ন করে।
computeArea() – পৃথিবীর কোনও ক্লোজড পাথের ক্ষেত্রফল বর্গ
মিটারে দেখায়।
interpolate() – দুটি বিন্দুর মধ্যেকার দূরত্বের
একটি নির্দিষ্ট ভগ্নাংশ দূরত্বে অবস্থিত কোনও বিন্দুর
অক্ষাংশ/দ্রাঘিমাংশ কোঅর্ডিনেট রিটার্ন করে। আপনি এটি ব্যবহার করে দুটি পয়েন্টের মধ্যে
মার্কার অ্যানিমেট করতে পারেন, যেমন।
Street View-তে কোনও লোকেশন কাজ করে কিনা তা চেক করুন।
StreetViewUtil ক্লাসটি কোনও লোকেশন Street View-তে কাজ করে কিনা তা চেক করার
কার্যকারিতা প্রদান করে। এই মেটাডেটা ইউটিলিটি কল করে এবং উত্তর
OK হলে তবেই Street View প্যানোরামা যোগ করে, আপনি Android অ্যাপে
Street View প্যানোরামা যোগ করার সময় সমস্যা এড়াতে পারবেন।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2026-10-11 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],["The Maps SDK for Android Utility Library offers tools for enhancing map functionality. Key actions include importing GeoJSON and KML data, adding heatmaps, managing marker clusters, and customizing markers with bubble icons. It supports adding multiple layers, and it also allows users to encode/decode polylines and utilize spherical geometry for distance, area, and heading calculations. Additionally, users can check if a location is supported in street view. All utilities are open-source, and can be viewed with the provided demo app.\n"]]