আপনি অঞ্চল অনুসন্ধান করতে এবং স্থান সম্পর্কে আরও তথ্য পেতে অ্যান্ড্রয়েডের জন্য ম্যাপস এসডিকে (Maps SDK for Android) এর সাথে প্লেসেস সার্ভিস (Places Service) এবং জিওকোডিং এপিআই (Geocoding API) ব্যবহার করতে পারেন। প্লেস আইডি (place ID) পাওয়ার জন্য প্লেসেস সার্ভিস এবং জিওকোডিং এপিআই হলো শক্তিশালী এবং স্থিতিশীল বিকল্প। আপনি যদি ইতিমধ্যেই প্লেস আইডি ব্যবহার করে থাকেন, তবে সীমানা নির্ধারণের জন্য ডেটা-চালিত স্টাইলিং সহ সেই আইডিগুলো পুনরায় ব্যবহার করতে পারেন।
নিম্নলিখিত উপায়ে আপনার অ্যান্ড্রয়েড অ্যাপের জন্য ম্যাপস এসডিকে-তে প্লেসেস সার্ভিস এবং জিওকোডিং যোগ করুন:
- অ্যান্ড্রয়েডের জন্য প্লেসেস এসডিকে হলো একটি অ্যান্ড্রয়েড লাইব্রেরি, যাতে বিভিন্ন স্থান সম্পর্কিত তথ্য প্রদানের জন্য মেথড রয়েছে।
- Places API HTTP অনুরোধ ব্যবহার করে স্থান সম্পর্কিত তথ্য প্রদান করে।
- Geocoder ক্লাস ব্যবহারকারীর ইনপুট থেকে গতিশীলভাবে জিওকোড এবং রিভার্স জিওকোড করতে পারে।
- জিওকোডিং এপিআই আপনাকে স্থির, পরিচিত ঠিকানাগুলো জিওকোড করতে দেয়।
প্লেসেস সার্ভিস ব্যবহার করুন
স্থানের আইডি খুঁজে পেতে টেক্সট সার্চ (নতুন) ব্যবহার করুন।
আপনি প্লেসেস এপিআই-এর টেক্সট সার্চ (নতুন) REST API ব্যবহার করে ফিল্ড মাস্কে places.id উল্লেখ করার মাধ্যমে অঞ্চলের তথ্যসহ একটি স্থানের আইডি পেতে পারেন। শুধুমাত্র স্থানের আইডি অনুরোধ করার জন্য টেক্সট সার্চ (নতুন) ব্যবহারে কোনো চার্জ লাগে না। আরও জানুন ।
উদাহরণস্বরূপ, ত্রিনিদাদ, CA-এর স্থান আইডি পেতে আপনি নিম্নলিখিত API কলটি করতে পারেন:
curl -X POST -d '{
"textQuery" : "Trinidad, CA"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.id' \
'https://places.googleapis.com/v1/places:searchText'অঞ্চলগুলি খুঁজে পেতে স্থান স্বয়ংসম্পূর্ণতা ব্যবহার করুন
অ্যান্ড্রয়েডের জন্য প্লেসেস এসডিকে-তে থাকা প্লেসেস অটোকমপ্লিট সার্ভিসটি আপনার ব্যবহারকারীদের অঞ্চল অনুসন্ধান করার একটি সুবিধাজনক উপায় প্রদান করে। প্লেসেস অটোকমপ্লিট সার্ভিসটিকে শুধুমাত্র অঞ্চল ফেরত দেওয়ার জন্য কনফিগার করতে, AutocompleteSupportFragment.setTypesFilter(List) ব্যবহার করে টাইপ ফিল্টারটিকে PlaceTypes.REGIONS এ সেট করুন।
একটি অঞ্চলের স্থানের বিবরণ পান
অ্যান্ড্রয়েডের জন্য প্লেসেস এসডিকে-তে থাকা প্লেস ডিটেইলস সার্ভিসটি কোনো অঞ্চলের ডেটা প্রদান করে, যা বেশ কার্যকর হতে পারে। উদাহরণস্বরূপ, আপনি পারেন:
- স্থানের নামের ভিত্তিতে সীমানা স্থানের আইডি অনুসন্ধান করুন।
- কোনো সীমানায় জুম করার জন্য ভিউপোর্টটি নিন।
- সীমানার জন্য বৈশিষ্ট্যের ধরণটি পান (উদাহরণস্বরূপ,
locality)। - ফরম্যাট করা ঠিকানাটি নিন, যা মার্কিন যুক্তরাষ্ট্র অঞ্চলে "স্থানের নাম, রাজ্য, দেশ" হিসেবে প্রকাশ পায় (উদাহরণস্বরূপ, "Ottumwa, IA, USA")।
- ছবির মতো অন্যান্য দরকারি তথ্য সংগ্রহ করুন।
জিওকোডিং এপিআই ব্যবহার করুন
জিওকোডিং এপিআই আপনাকে একটি ঠিকানাকে অক্ষাংশ ও দ্রাঘিমাংশ স্থানাঙ্ক এবং একটি প্লেস আইডি-তে রূপান্তর করতে দেয়, অথবা অক্ষাংশ ও দ্রাঘিমাংশ স্থানাঙ্ক বা একটি প্লেস আইডি-কে একটি ঠিকানায় রূপান্তর করে। সীমানার জন্য ডেটা-চালিত স্টাইলিংয়ের সাথে নিম্নলিখিত ব্যবহারগুলি ভালোভাবে সমন্বিত হয়:
- কোনো অঞ্চলের ভিউপোর্ট পেতে জিওকোডিং ব্যবহার করুন।
- প্রশাসনিক এলাকা ১-৪, এলাকা বা পোস্টাল কোডের জন্য স্থান আইডি পেতে আপনার জিওকোডিং কলে কম্পোনেন্ট ফিল্টারিং প্রয়োগ করুন।
- অক্ষাংশ ও দ্রাঘিমাংশ স্থানাঙ্কের মাধ্যমে স্থানের আইডি খুঁজে বের করতে, অথবা কোনো নির্দিষ্ট স্থানের সমস্ত উপাদানের আইডি পেতে রিভার্স জিওকোডিং ব্যবহার করুন।
নিম্নলিখিত উদাহরণটি জিওকোডিং এপিআই-তে অনুরোধ করার জন্য একটি ঠিকানা (ইউআরএল-এসকেপড) ব্যবহার করে:
https://maps.googleapis.com/maps/api/geocode/json?address=1600%20Amphitheatre%20Pkwy%20Mountain%20View%20CA&key=YOUR_API_KEYআপনি প্লেস আইডি খুঁজে বের করতে রিভার্স জিওকোডিং ব্যবহার করতে পারেন। নিম্নলিখিত উদাহরণ জিওকোডিং সার্ভিস ফাংশনটি নির্দিষ্ট অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্কে সমস্ত ঠিকানা উপাদানের প্লেস আইডিগুলো ফেরত দেয়:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEYনির্দিষ্ট অবস্থানে নিম্নলিখিত এক বা একাধিক ধরণের ঠিকানার উপাদান পেতে কম্পোনেন্ট ফিল্টারিং সহ রিভার্স জিওকোডিং ব্যবহার করুন:
-
administrativeArea -
country -
locality -
postalCode
পরবর্তী উদাহরণ ফাংশনটি জিওকোডিং পরিষেবা ব্যবহার করে, রিভার্স জিওকোডিংয়ের মাধ্যমে কম্পোনেন্ট সীমাবদ্ধতা যোগ করে শুধুমাত্র locality টাইপের জন্য নির্দিষ্ট অবস্থানে থাকা ঠিকানার সমস্ত কম্পোনেন্ট পাওয়ার পদ্ধতি দেখায়:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY