ভূমিকা
Google Places ডেটাবেস ও Google Maps-এ কোনও জায়গাকে অনন্যভাবে শনাক্ত করার জন্য প্লেস আইডি ব্যবহার করা হয়। নিম্নলিখিত Maps API-তে অনুরোধের ক্ষেত্রে জায়গার আইডি গ্রহণ করা হয়:
- Geocoding API এবং Geocoding Service, Maps JavaScript API-তে কোনও প্লেস আইডির জন্য ঠিকানা খুঁজে বের করা।
- Routes API এবং Directions API (পুরনো) এবং Directions Service, Maps JavaScript API (পুরনো)-তে শুরু, গন্তব্য এবং মধ্যবর্তী ওয়েপয়েন্ট নির্দিষ্ট করা।
- Routes API এবং Distance Matrix API (পুরনো) এবং Distance Matrix Service, Maps JavaScript API (পুরনো)-তে শুরু ও গন্তব্যস্থল উল্লেখ করা।
- Places API (নতুন), Android-এর জন্য Places SDK (নতুন), iOS-এর জন্য Places SDK (নতুন) এবং Places লাইব্রেরিতে জায়গার বিবরণ ফিরিয়ে আনা।
- Maps Embed API-তে জায়গার আইডি প্যারামিটার ব্যবহার করা।
- Maps URL-এ সার্চ কোয়েরি ফিরিয়ে আনা হচ্ছে।
- Roads API-তে স্পিড লিমিট দেখানো।
- সীমানার জন্য ডেটা-ড্রিভেন স্টাইলিংয়ে সীমানা পলিগন খোঁজা ও স্টাইল করা।
কোনও নির্দিষ্ট জায়গার আইডি খুঁজে বের করা
আপনি কি কোনও নির্দিষ্ট জায়গার প্লেস আইডি খুঁজছেন? কোনও জায়গা সার্চ করতে এবং সেটির আইডি পেতে, নিচে দেওয়া জায়গা আইডি খোঁজার টুল ব্যবহার করুন:
বিকল্প হিসেবে, আপনি Maps JavaScript API ডকুমেন্টেশনে কোড সহ প্লেস আইডি ফাইন্ডার দেখতে পারবেন।
কোড বা AI এজেন্টের থেকে জায়গার আইডি খুঁজে বের করা
প্লেস আইডি ফাইন্ডার ব্রাউজারে একবারে একটি জায়গা খোঁজে। অ্যাপ, স্ক্রিপ্ট বা AI এজেন্টের মাধ্যমে প্লেস আইডি খুঁজতে, API কল করুন:
- আপনার কোড থেকে:
places.id-এ সেট করা ফিল্ড মাস্ক সহ টেক্সট সার্চ (নতুন) অনুরোধ পাঠান। যেসব অনুরোধের উত্তরে শুধু জায়গার আইডি পাওয়া যায়, সেগুলির জন্য Places API Text Search Essentials (IDs Only) SKU-এর অধীনে বিল করা হয়। - AI এজেন্ট বা LLM অ্যাপ থেকে:
Maps Experience এজেন্ট টুল-এ
Resolution API ব্যবহার করুন।
resolve_namesএবংresolve_maps_urlsMCP টুল প্রতিটি অনুরোধে সর্বাধিক ২০টি জায়গার নাম, ঠিকানা বা Google Maps URL-কে প্লেস আইডিতে রিজলভ করে। একই পদ্ধতিresolveNamesএবংresolveMapsUrlsREST পদ্ধতি হিসেবে উপলভ্য।
এক নজরে
প্লেস আইডি হল একটি টেক্সচুয়াল শনাক্তকারী যা অনন্যভাবে কোনও জায়গা শনাক্ত করে। আইডেন্টিফায়ারের দৈর্ঘ্য আলাদা হতে পারে (প্লেস আইডির কোনও সর্বাধিক দৈর্ঘ্য নেই)। উদাহরণ:
-
ChIJgUbEo8cfqokR5lP9_Wh_DaM -
GhIJQWDl0CIeQUARxks3icF8U8A -
EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN -
EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E -
IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ
ব্যবসা, ল্যান্ডমার্ক, পার্ক ও ইন্টারসেকশন সহ বেশিরভাগ লোকেশনের জন্য প্লেস আইডি উপলভ্য। একই জায়গা বা লোকেশনের একাধিক আলাদা আলাদা প্লেস আইডি থাকতে পারে। সময়ের সাথে সাথে জায়গার আইডি পরিবর্তন হতে পারে।
আপনি Places API এবং Google Maps Platform-এর একাধিক API জুড়ে একই প্লেস আইডি ব্যবহার করতে পারবেন। যেমন, আপনি একই প্লেস আইডি ব্যবহার করে Places API, Maps JavaScript API, Geocoding API, Maps Embed API এবং Roads API-তে কোনও জায়গার রেফারেন্স দিতে পারবেন।
প্লেস আইডি ব্যবহার করে জায়গার বিবরণ ফিরিয়ে আনা
Maps JavaScript API-তে Places API বা Places লাইব্রেরি ব্যবহার করে কোনও জায়গা সার্চ করা হল, প্লেস আইডি ব্যবহার করার একটি সাধারণ উপায়। তারপর, জায়গার বিবরণ পেতে, ফেরত পাওয়া জায়গার আইডি ব্যবহার করুন। আপনি জায়গার আইডি স্টোর করতে এবং পরে একই জায়গার বিবরণ ফিরিয়ে আনতে এটি ব্যবহার করতে পারবেন। এই ডকুমেন্টের পরে প্লেস আইডি সেভ করা সম্পর্কে পড়ুন।
Places API (নতুন) এবং Places API (পুরনো)-এর জন্য কীভাবে আইকন URL-এর অনুরোধ করতে হয় তা নিম্নলিখিত উদাহরণে দেখানো হয়েছে।
Places API (নতুন)
Places API ব্যবহার করে, আপনি টেক্সট সার্চ (নতুন) অনুরোধ করে কোনও জায়গার আইডি খুঁজে পেতে পারেন।
curl -X POST -d '{
"textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.id,places.displayName,places.formattedAddress' \
'https://places.googleapis.com/v1/places:searchText'উত্তরে id ফিল্ডে একটি প্লেস আইডি অন্তর্ভুক্ত থাকে, যেমন নিচে দেখানো হয়েছে:
{
"places": [
{
"id": "ChIJs5ydyTiuEmsR0fRSlU0C7k0",
"formattedAddress": "29 King St, Sydney NSW 2000, Australia",
"displayName": {
"text": "Peace Harmony",
"languageCode": "en"
}
},
...
}এখন আপনি অনুরোধ URL-এ জায়গার আইডি অন্তর্ভুক্ত করে জায়গার বিবরণ (নতুন) অনুরোধ করতে পারবেন:
https://places.googleapis.com/v1/places/ChIJs5ydyTiuEmsR0fRSlU0C7k0?fields=id,displayName&key=API_KEY
Places API (পুরনো ভার্সন)
Places API ব্যবহার করে, আপনি জায়গা সার্চ করার অনুরোধ করে কোনও জায়গার আইডি খুঁজে পেতে পারেন।
নিম্নলিখিত উদাহরণটি হল অস্ট্রেলিয়ার সিডনির একটি পয়েন্টের ১৫০০ মিটার ব্যাসার্ধের মধ্যে 'রেস্তোরাঁ' ধরনের জায়গাগুলির জন্য একটি সার্চ অনুরোধ, যাতে 'ক্রুজ' শব্দটি রয়েছে:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=1500&type=restaurant&keyword=cruise&key=YOUR_API_KEY
উত্তরে place_id ফিল্ডে একটি প্লেস আইডি অন্তর্ভুক্ত থাকে, যেমন
এই স্নিপেটে দেখানো হয়েছে:
{
"html_attributions" : [],
"results" : [
{
"geometry" : {
"location" : {
"lat" : -33.870775,
"lng" : 151.199025
}
},
...
"place_id" : "ChIJrTLr-GyuEmsRBfy61i59si0",
...
}
],
"status" : "OK"
}এখন আপনি place_id প্যারামিটারে জায়গার আইডি লিখে
জায়গার বিবরণ (পুরনো) সংক্রান্ত অনুরোধ
পাঠাতে পারবেন:
https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJrTLr-GyuEmsRBfy61i59si0&key=YOUR_API_KEYপরে ব্যবহার করার জন্য জায়গার আইডি সেভ করুন
Google Maps Platform-এর পরিষেবার শর্তাবলীর অনুচ্ছেদ ৩.২.৩(খ)-তে উল্লেখ করা ক্যাশিং সংক্রান্ত বিধিনিষেধ থেকে প্লেস আইডি ছাড় পায়। তাই, আপনি পরে ব্যবহারের জন্য প্লেস আইডি ভ্যালু স্টোর করতে পারেন।
সেভ করা প্লেস আইডি রিফ্রেশ করুন
Google Maps ডেটাবেসে আপডেট হওয়ার কারণে প্লেস আইডি পরিবর্তন হতে পারে, তাই Google সাজেস্ট করে যে
প্লেস আইডি ১২ মাসের বেশি পুরনো হলে তা রিফ্রেশ করে নিন। আপনি বিনা খরচে Place ID রিফ্রেশ করতে পারবেন। এর জন্য আপনাকে
Place Details-এর অনুরোধ করতে হবে, যেখানে fields প্যারামিটারে শুধু Place ID
ফিল্ড উল্লেখ করতে হবে।
Places API (নতুন)
যেমন, জায়গার বিবরণ (নতুন) ব্যবহার করে:
https://places.googleapis.com/v1/places/ChIJ05IRjKHxEQ0RJLV_5NLdK2w?fields=id&key=API_KEY
Places API (পুরনো ভার্সন)
যেমন, Places API (Legacy) ব্যবহার করে:
https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJ05IRjKHxEQ0RJLV_5NLdK2w&fields=place_id&key=API_KEY
এই কলটি Place Detail New Essentials IDs Only অথবা Places Details - ID Refresh SKU ট্রিগার করে।
প্লেস আইডি ব্যবহার করার সময় ত্রুটি কোড
INVALID_REQUEST
INVALID_REQUEST স্ট্যাটাস কোড থেকে বোঝা যায় যে নির্দিষ্ট করা
জায়গার আইডি সঠিক নয়। প্লেস আইডি ট্রাঙ্কেট করা বা অন্য কোনওভাবে পরিবর্তন করা হলে এবং সেটি আর সঠিক না থাকলে,
INVALID_REQUEST রিটার্ন করা হতে পারে।
NOT_FOUND
NOT_FOUND স্ট্যাটাস কোড থেকে বোঝা যায় যে নির্দিষ্ট করা জায়গার আইডি
পুরনো হয়ে গেছে। কোনও ব্যবসা বন্ধ হয়ে গেলে বা নতুন লোকেশনে সরে গেলে,
প্লেস আইডি বাতিল হয়ে যেতে পারে। Google Maps ডেটাবেস আপডেট হওয়ার কারণেও জায়গার আইডি পরিবর্তন হতে
পারে। এই ধরনের ক্ষেত্রে, কোনও জায়গা নতুন জায়গা আইডি পেতে পারে এবং পুরনো
আইডি NOT_FOUND উত্তর দেয়।
কোনও জায়গার আইডি বাতিল হয়ে গেলে ফলাফল রিফ্রেশ করতে, প্রতিটি জায়গার আইডি প্রদানকারী আসল অনুরোধটি সেভ করুন এবং প্রয়োজন অনুযায়ী অনুরোধটি আবার ইস্যু করুন। মনে রাখবেন যে আবার ইস্যু করা অনুরোধের জন্য উপযুক্ত SKU অনুযায়ী বিল করা হয়।
কিছু ধরনের প্লেস আইডির কারণে কখনও কখনও
NOT_FOUND রেসপন্স হতে পারে অথবা API রেসপন্সে অন্য কোনও প্লেস আইডি
ফেরত পাঠাতে পারে। এইসব প্লেস আইডির ধরনের মধ্যে রয়েছে:
- রাস্তার ঠিকানা যা Google Maps-এ সুনির্দিষ্ট ঠিকানা হিসেবে নেই, কিন্তু ঠিকানাগুলির একটি রেঞ্জ থেকে অনুমান করা হয়।
- কোনও দীর্ঘ রুটের অংশ, যেখানে অনুরোধে কোনও শহর বা এলাকাও উল্লেখ করা থাকে।
- সংযোগস্থল।
subpremiseধরনের অ্যাড্রেস কম্পোনেন্ট সহ জায়গা।
এই আইডিগুলি প্রায়ই একটি দীর্ঘ স্ট্রিংয়ের আকারে থাকে (প্লেস আইডির জন্য কোনও সর্বাধিক দৈর্ঘ্য নেই)। যেমন:
EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4