Maps SDK for Android Utility Library

প্ল্যাটফর্ম বেছে নিন: Android iOS

আপনার ম্যাপে যোগ করার জন্য উন্নত ফিচার খুঁজছেন? Maps SDK for Android Utility Library হল ক্লাসের একটি ওপেন-সোর্স লাইব্রেরি যা বিভিন্ন অ্যাপ্লিকেশনের জন্য উপযোগী। GitHub রিপোজিটরিতে ইউটিলিটি ক্লাস এবং একটি ডেমো অ্যাপ অন্তর্ভুক্ত রয়েছে যা প্রতিটি ক্লাসের ব্যবহার ব্যাখ্যা করে।

এই ভিডিওতে, ক্রিস ব্রডফুট ইউটিলিটি লাইব্রেরি নিয়ে আলোচনা করেছেন, যেখানে পলাইন ডিকোডিং, স্ফেরিক্যাল জ্যামিতি এবং বাবল আইকনের উপর জোর দেওয়া হয়েছে।

দ্রুত সেট-আপ

Maps SDK for Android Utility Library ইনস্টল করতে, সেট-আপ গাইড অনুসরণ করুন।

ইউটিলিটি

GeoJSON লেয়ার সহ ম্যাপ

আপনার ম্যাপে GeoJSON ইমপোর্ট করা

আপনি GeoJSON ফর্ম্যাটে ফিচার স্টোর করতে এবং ম্যাপের উপরে লেয়ার হিসেবে সেগুলি রেন্ডার করতে এই ইউটিলিটি ব্যবহার করতে পারবেন। ম্যাপে আপনার GeoJSON ডেটা যোগ করতে addLayer() কল করুন। এছাড়াও, আপনি addFeature() কল করে, GeoJsonFeature অবজেক্ট পাস করার মাধ্যমে আলাদা আলাদা ফিচার যোগ করতে পারবেন।

বিস্তারিত জানতে, Google Maps Android GeoJSON ইউটিলিটি সংক্রান্ত ডকুমেন্টেশন দেখুন।

KML লেয়ার সহ ম্যাপ

আপনার ম্যাপে KML ইমপোর্ট করা

এই ইউটিলিটি ব্যবহার করে, আপনি KML অবজেক্টকে ভৌগোলিক আকারে কনভার্ট করতে এবং সেগুলিকে ম্যাপের উপরে একটি লেয়ার হিসেবে রেন্ডার করতে পারবেন। ম্যাপে আপনার লেয়ার যোগ করতে addLayerToMap()-এ কল করুন। আপনি যেকোনও স্থান চিহ্ন, গ্রাউন্ডওভারলে, ডকুমেন্ট বা ফোল্ডারে getProperties() কল করে KML অবজেক্টের প্রপার্টি অ্যাক্সেস করতে পারবেন।

বিস্তারিত জানতে, Google Maps Android KML ইউটিলিটি সংক্রান্ত ডকুমেন্টেশন দেখুন।

হিটম্যাপ সহ ম্যাপ

আপনার ম্যাপে হিটম্যাপ যোগ করা

হিটম্যাপের সাহায্যে দর্শকরা ম্যাপে ডেটা পয়েন্টের ডিস্ট্রিবিউশন ও আপেক্ষিক তীব্রতা সহজেই বুঝতে পারেন। প্রতিটি লোকেশনে মার্কার প্লেস করার পরিবর্তে, ডেটার ডিস্ট্রিবিউশন দেখানোর জন্য হিটম্যাপে রঙ ও শেপ ব্যবহার করা হয়। HeatmapTileProvider তৈরি করুন, এতে ম্যাপে আগ্রহের স্থানকে প্রতিনিধিত্বকারী LatLng অবজেক্টের সংগ্রহ পাস করুন। তারপর একটি নতুন TileOverlay তৈরি করুন, এটিকে হিটম্যাপ টাইল প্রোভাইডারে পাস করুন এবং ম্যাপে টাইল ওভারলে যোগ করুন।

বিস্তারিত জানতে, Google Maps Android Heatmap Utility-এর ডকুমেন্টেশন দেখুন।

বাবল আইকন সহ ম্যাপ

বাবল আইকনের মাধ্যমে মার্কার কাস্টমাইজ করা

আপনার মার্কারের উপর তথ্যের স্নিপেট দেখাতে একটি IconGenerator যোগ করুন। এই ইউটিলিটি আপনার মার্কার আইকনকে ইনফো উইন্ডোর মতো করে দেখানোর একটি উপায় প্রদান করে, কারণ মার্কারের মধ্যে টেক্সট ও অন্যান্য কন্টেন্ট থাকতে পারে। এর সুবিধা হল, আপনি একই সময়ে একাধিক মার্কার খোলা রাখতে পারবেন, যেখানে একটি ইনফো উইন্ডো একবারে খোলা রাখা যায়। এছাড়াও, আপনি মার্কারের স্টাইল পরিবর্তন করতে, মার্কারের দিকনির্দেশ এবং/অথবা কন্টেন্ট পরিবর্তন করতে এবং মার্কারের ব্যাকগ্রাউন্ড ছবি/নাইন-প্যাচ পরিবর্তন করতে পারবেন।

ক্লাস্টার করা মার্কার সহ ম্যাপ

মার্কার ক্লাস্টার ম্যানেজ করা

ClusterManager আপনাকে বিভিন্ন জুম লেভেলে একাধিক মার্কার ম্যানেজ করতে সাহায্য করে। এর অর্থ হল, আপনি ম্যাপটি পড়তে অসুবিধা না করেই সেটিতে প্রচুর সংখ্যক মার্কার যোগ করতে পারবেন। কোনও ব্যবহারকারী ম্যাপকে হাই জুম লেভেলে দেখলে, ম্যাপে আলাদা আলাদা মার্কার দেখা যায়। ব্যবহারকারী কম জুম লেভেলে জুম-আউট করলে, মার্কারগুলি একসাথে ক্লাস্টার তৈরি করে, যাতে ম্যাপটি আরও সহজে দেখা যায়।

বিস্তারিত জানতে, Google Maps Android মার্কার ক্লাস্টারিং ইউটিলিটি সংক্রান্ত ডকুমেন্টেশন দেখুন।

একাধিক লেয়ার সহ ম্যাপ

একই ম্যাপে একাধিক লেয়ার যোগ করা

আপনি 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-তে কোনও লোকেশন কাজ করে কিনা তা চেক করা

Street View-তে কোনও লোকেশন কাজ করে কিনা তা চেক করুন।

StreetViewUtil ক্লাসটি কোনও লোকেশন Street View-তে কাজ করে কিনা তা চেক করার কার্যকারিতা প্রদান করে। এই মেটাডেটা ইউটিলিটি কল করে এবং উত্তর OK হলে তবেই Street View প্যানোরামা যোগ করে, আপনি Android অ্যাপে Street View প্যানোরামা যোগ করার সময় সমস্যা এড়াতে পারবেন।

বিস্তারিত জানতে, GitHub-এ Street View মেটাডেটা ইউটিলিটি সম্পর্কিত ডকুমেন্টেশন দেখুন।