প্লেস আইডিগুলি অনন্যভাবে Google Places ডাটাবেসে এবং Google মানচিত্রে একটি স্থান চিহ্নিত করে৷ নিম্নলিখিত মানচিত্র API-এর অনুরোধে স্থান আইডি গৃহীত হয়:
- জিওকোডিং এপিআই এবং জিওকোডিং সার্ভিস, ম্যাপ জাভাস্ক্রিপ্ট এপিআই-এ একটি প্লেস আইডির জন্য একটি ঠিকানা পুনরুদ্ধার করা হচ্ছে।
- রুট API এবং নির্দেশাবলী API (উত্তরাধিকার) এবং দিকনির্দেশ পরিষেবা, মানচিত্র জাভাস্ক্রিপ্ট API (উত্তরাধিকার) এ উত্স, গন্তব্য এবং মধ্যবর্তী পথপয়েন্টগুলি নির্দিষ্ট করা।
- Routes API এবং Distance Matrix API (Legacy) এবং Distance Matrix Service, Maps JavaScript API (Legacy) তে উৎপত্তি ও গন্তব্য উল্লেখ করা।
- Places API (নতুন), Android এর জন্য স্থান SDK (নতুন), iOS এর জন্য স্থান SDK (নতুন), এবং স্থান লাইব্রেরিতে স্থানের বিবরণ পুনরুদ্ধার করা হচ্ছে।
- ম্যাপ এম্বেড এপিআই-এ প্লেস আইডি প্যারামিটার ব্যবহার করা।
- মানচিত্র URL-এ অনুসন্ধান প্রশ্ন পুনরুদ্ধার করা হচ্ছে।
- Roads API-এ গতি সীমা প্রদর্শন করা হচ্ছে।
- সীমানার জন্য ডেটা-চালিত স্টাইলিংয়ে সীমানা বহুভুজ খোঁজা এবং স্টাইল করা।
একটি নির্দিষ্ট জায়গার আইডি খুঁজুন
আপনি কি একটি নির্দিষ্ট জায়গার আইডি খুঁজছেন? একটি জায়গা অনুসন্ধান করতে এবং তার আইডি পেতে নীচের স্থান আইডি সন্ধানকারী ব্যবহার করুন:
বিকল্পভাবে, আপনি Maps JavaScript API ডকুমেন্টেশনে এর কোড সহ প্লেস আইডি ফাইন্ডার দেখতে পারেন।
ওভারভিউ
একটি স্থান আইডি একটি পাঠ্য শনাক্তকারী যা একটি স্থানকে অনন্যভাবে সনাক্ত করে। শনাক্তকারীর দৈর্ঘ্য পরিবর্তিত হতে পারে (স্থানের আইডিগুলির জন্য সর্বাধিক দৈর্ঘ্য নেই)। উদাহরণ:
-
ChIJgUbEo8cfqokR5lP9_Wh_DaM
-
GhIJQWDl0CIeQUARxks3icF8U8A
-
EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN
-
EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E
-
IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ
ব্যবসা, ল্যান্ডমার্ক, পার্ক এবং ইন্টারসেকশন সহ বেশিরভাগ লোকেশনের জন্য প্লেস আইডি পাওয়া যায়। একই স্থান বা অবস্থানের জন্য একাধিক ভিন্ন স্থানের আইডি থাকা সম্ভব। স্থানের আইডি সময়ের সাথে পরিবর্তিত হতে পারে।
আপনি প্লেস এপিআই এবং বেশ কয়েকটি Google মানচিত্র প্ল্যাটফর্ম API জুড়ে একই স্থান আইডি ব্যবহার করতে পারেন। উদাহরণ স্বরূপ, আপনি প্লেস এপিআই , ম্যাপ জাভাস্ক্রিপ্ট এপিআই , জিওকোডিং এপিআই , ম্যাপ এম্বেড এপিআই এবং রোডস এপিআই-এ একটি স্থান উল্লেখ করতে একই স্থান আইডি ব্যবহার করতে পারেন।
স্থান আইডি ব্যবহার করে স্থান বিবরণ পুনরুদ্ধার করুন
স্থান আইডি ব্যবহার করার একটি সাধারণ উপায় হল একটি স্থান অনুসন্ধান করা (উদাহরণস্বরূপ, মানচিত্র জাভাস্ক্রিপ্ট এপিআই-এ স্থানগুলি এপিআই বা স্থান লাইব্রেরি ব্যবহার করে) তারপর স্থানের বিবরণ পুনরুদ্ধার করতে ফেরত স্থান আইডি ব্যবহার করুন। আপনি জায়গার আইডি সংরক্ষণ করতে পারেন এবং পরে একই স্থানের বিবরণ পুনরুদ্ধার করতে এটি ব্যবহার করতে পারেন। নীচে স্থান আইডি সংরক্ষণ সম্পর্কে পড়ুন.
iOS এর জন্য Places SDK ব্যবহার করার উদাহরণ
একটি স্থান আইডি একটি পাঠ্য শনাক্তকারী যা একটি স্থানকে অনন্যভাবে সনাক্ত করে। iOS এর জন্য Places SDK-এ, আপনি একটি GMSPlace
অবজেক্ট থেকে একটি জায়গার আইডি পুনরুদ্ধার করতে পারেন। আপনি স্থান আইডি সংরক্ষণ করতে পারেন এবং পরে আবার GMSPlace
অবজেক্ট পুনরুদ্ধার করতে এটি ব্যবহার করতে পারেন।
আইডি দ্বারা একটি স্থান পেতে, GMSPlacesClient fetchPlaceFromPlaceID:
, নিম্নলিখিত পরামিতিগুলি পাস করে কল করুন:
- একটি স্থান আইডি ধারণকারী একটি স্ট্রিং।
- এক বা একাধিক
GMSPlaceField
s, প্রত্যাবর্তনের জন্য ডেটা প্রকারগুলি নির্দিষ্ট করে৷ - একটি সেশন টোকেন যদি একটি স্বয়ংসম্পূর্ণ ক্যোয়ারী শেষ করতে কল করা হয়। অন্যথায়, শূন্য পাস.
- ফলাফল পরিচালনা করতে একটি
GMSPlaceResultCallback
.
এপিআই একটি GMSPlace
অবজেক্টে পাস করে নির্দিষ্ট কলব্যাক পদ্ধতি চালু করে। স্থান পাওয়া না গেলে, স্থান বস্তুটি শূন্য।
আইওএসের জন্য সুইফ্ট SDK রাখে
// Initialize Places Swift Client. let placesClient = PlacesClient.shared // A hotel in Saigon with an attribution let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" // Fetch Place Request. let fetchPlaceRequest = FetchPlaceRequest( placeID: placeID, placeProperties: [.displayName] ) Task { switch await placesClient.fetchPlace(with: fetchPlaceRequest) { case .success(let place): print("The selected place is: \(place.displayName): \(String(describing: place.description))") case .failure(let placesError): print("Place not found: \(placeID); \(placesError)") } }
সুইফট
// A hotel in Saigon with an attribution. let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs" // Specify the place data types to return. let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) | UInt(GMSPlaceField.placeID.rawValue))! placesClient?.fetchPlace(fromPlaceID: placeID, placeFields: fields, sessionToken: nil, callback: { (place: GMSPlace?, error: Error?) in if let error = error { print("An error occurred: \(error.localizedDescription)") return } if let place = place { self.lblName?.text = place.name print("The selected place is: \(place.name)") } })
উদ্দেশ্য-C
// A hotel in Saigon with an attribution. NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs"; // Specify the place data types to return. GMSPlaceField fields = (GMSPlaceFieldName | GMSPlaceFieldPlaceID); [_placesClient fetchPlaceFromPlaceID:placeID placeFields:fields sessionToken:nil callback:^(GMSPlace * _Nullable place, NSError * _Nullable error) { if (error != nil) { NSLog(@"An error occurred %@", [error localizedDescription]); return; } if (place != nil) { NSLog(@"The selected place is: %@", [place name]); } }];
পরে ব্যবহারের জন্য স্থান আইডি সংরক্ষণ করুন
Google Maps প্ল্যাটফর্ম পরিষেবার শর্তাবলীর ধারা 3.2.3(b) এ বর্ণিত ক্যাশিং বিধিনিষেধ থেকে স্থান আইডিগুলিকে ছাড় দেওয়া হয়েছে৷ আপনি তাই পরে ব্যবহারের জন্য স্থান আইডি মান সংরক্ষণ করতে পারেন.
সঞ্চিত স্থান আইডি রিফ্রেশ করুন
যেহেতু Google Maps ডাটাবেসে আপডেটের কারণে প্লেস আইডি পরিবর্তিত হতে পারে, তাই Google 12 মাসের বেশি বয়সী হলে জায়গা আইডি রিফ্রেশ করার পরামর্শ দেয়। fields
প্যারামিটারে শুধুমাত্র GMSPlaceFieldPlaceID
ক্ষেত্র নির্দিষ্ট করে, স্থানের বিবরণের অনুরোধ করে আপনি কোনো চার্জ ছাড়াই প্লেস আইডি রিফ্রেশ করতে পারেন।
এই কলটি স্থানের বিশদ - আইডি রিফ্রেশ SKU ট্রিগার করে৷
স্থান আইডি ব্যবহার করার সময় ত্রুটি কোড
INVALID_REQUEST
INVALID_REQUEST
স্ট্যাটাস কোড নির্দেশ করে যে নির্দিষ্ট স্থান আইডি বৈধ নয়। INVALID_REQUEST
ফেরত দেওয়া হতে পারে যখন জায়গার আইডি ছেঁটে ফেলা হয়েছে বা অন্যভাবে সংশোধন করা হয়েছে, এবং আর সঠিক নয়৷
NOT_FOUND
NOT_FOUND
স্ট্যাটাস কোড নির্দেশ করে যে নির্দিষ্ট জায়গার আইডি অপ্রচলিত। একটি ব্যবসা বন্ধ বা একটি নতুন অবস্থানে চলে গেলে একটি স্থান আইডি অপ্রচলিত হতে পারে। Google Maps ডাটাবেসের আপডেটের কারণে স্থানের আইডিও পরিবর্তিত হতে পারে। এই ধরনের ক্ষেত্রে, একটি স্থান একটি নতুন স্থান আইডি পেতে পারে, এবং পুরানো আইডি একটি NOT_FOUND
প্রতিক্রিয়া প্রদান করে৷
একটি অপ্রচলিত স্থান আইডির ক্ষেত্রে ফলাফল রিফ্রেশ করতে, প্রতিটি স্থানের আইডি ফিরিয়ে দেওয়া আসল অনুরোধটি সংরক্ষণ করুন এবং প্রয়োজন অনুসারে অনুরোধটি পুনরায় জারি করুন। মনে রাখবেন যে পুনরায় জারি করা অনুরোধটি উপযুক্ত SKU-এ বিল করা হয়।
কিছু ধরণের স্থান আইডি কখনও কখনও একটি NOT_FOUND
প্রতিক্রিয়া সৃষ্টি করতে পারে, অথবা API প্রতিক্রিয়াতে একটি ভিন্ন স্থানের ID প্রদান করতে পারে৷ এই স্থানের আইডি প্রকারগুলি অন্তর্ভুক্ত:
- রাস্তার ঠিকানাগুলি যেগুলি Google মানচিত্রে সুনির্দিষ্ট ঠিকানা হিসাবে বিদ্যমান নেই, তবে ঠিকানাগুলির একটি পরিসর থেকে অনুমান করা হয়েছে৷
- একটি দীর্ঘ রুটের সেগমেন্ট, যেখানে অনুরোধটি একটি শহর বা এলাকাও নির্দিষ্ট করে।
- ছেদ.
- টাইপ
subpremise
এর ঠিকানা উপাদান সহ স্থানগুলি।
এই আইডিগুলি প্রায়শই একটি দীর্ঘ স্ট্রিংয়ের রূপ নেয় (স্থানীয় আইডিগুলির জন্য সর্বাধিক দৈর্ঘ্য নেই)। যেমন:
EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4