ভূমিকা
প্লেস আইডি, Google Places ডেটাবেস ও Google Maps-এ কোনও জায়গাকে অনন্যভাবে শনাক্ত করে। নিম্নলিখিত Maps API-তে করা অনুরোধে জায়গার আইডি গ্রহণ করা হয়:
- Geocoding API এবং Geocoding Service, Maps JavaScript API-তে কোনও Place ID-র জন্য ঠিকানা পাওয়া।
- Routes API এবং Directions API (Legacy) এবং Directions Service, Maps JavaScript API (Legacy)-এ যাত্রা শুরু করার স্থান, গন্তব্য ও মধ্যবর্তী ওয়েপয়েন্ট নির্দিষ্ট করা।
- Routes API এবং Distance Matrix API (Legacy) এবং Distance Matrix Service, Maps JavaScript API (Legacy)-তে গন্তব্য ও উৎস নির্দিষ্ট করা।
- Places API (নতুন), Android-এর জন্য Places SDK (নতুন), iOS-এর জন্য Places SDK (নতুন) এবং Places লাইব্রেরিতে জায়গার বিবরণ পাওয়া।
- Maps Embed API-তে Place ID প্যারামিটার ব্যবহার করা।
- Maps URL-এ সার্চ কোয়েরি রিট্রিভ করা।
- Roads API-তে স্পিড লিমিট দেখানো।
- সীমানার জন্য ডেটা-ড্রিভেন স্টাইলিংয়ে সীমানা সংক্রান্ত পলিগন খুঁজে পাওয়া ও স্টাইল করা।
কোনও নির্দিষ্ট জায়গার আইডি খুঁজে বের করা
আপনি কি কোনও নির্দিষ্ট জায়গার প্লেস আইডি খুঁজছেন? কোনও জায়গা খুঁজতে এবং তার আইডি পেতে, নিচে দেওয়া প্লেস আইডি ফাইন্ডার ব্যবহার করুন:
বিকল্প হিসেবে, আপনি Maps JavaScript API ডকুমেন্টেশনে কোড সহ প্লেস আইডি ফাইন্ডার দেখতে পারবেন।
এক নজরে
প্লেস আইডি হল একটি টেক্সচুয়াল শনাক্তকারী যা অনন্যভাবে কোনও জায়গা শনাক্ত করে। আইডেন্টিফায়ারের দৈর্ঘ্য আলাদা আলাদা হতে পারে (প্লেস আইডির কোনও সর্বাধিক দৈর্ঘ্য নেই)। উদাহরণ:
-
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 (Legacy)
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 ১২ মাসের বেশি পুরনো প্লেস আইডি
রিফ্রেশ করার সাজেশন দেয়। আপনি বিনা খরচে প্লেস আইডি রিফ্রেশ করতে পারবেন। এর জন্য আপনাকে
প্লেসের বিবরণ সংক্রান্ত অনুরোধ করতে হবে, যেখানে fields প্যারামিটারে শুধু প্লেস আইডি
ফিল্ড উল্লেখ করতে হবে।
Places API (নতুন)
যেমন, জায়গার বিবরণ (নতুন) ব্যবহার করে:
https://places.googleapis.com/v1/places/ChIJ05IRjKHxEQ0RJLV_5NLdK2w?fields=id&key=API_KEY
Places API (Legacy)
যেমন, Places API (Legacy) ব্যবহার করে:
https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJ05IRjKHxEQ0RJLV_5NLdK2w&fields=place_id&key=API_KEY
এই কলটি শুধুমাত্র নতুন এসেনশিয়াল আইডি সহ জায়গার বিবরণ বা জায়গার বিবরণ - আইডি রিফ্রেশ 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