জায়গার আইডি

প্ল্যাটফর্ম বেছে নিন: Android iOS JavaScript ওয়েব পরিষেবা
ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA)-এর ডেভেলপার

ভূমিকা

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 কল করুন:

এক নজরে

প্লেস আইডি হল একটি টেক্সচুয়াল শনাক্তকারী যা অনন্যভাবে কোনও জায়গা শনাক্ত করে। আইডেন্টিফায়ারের দৈর্ঘ্য আলাদা হতে পারে (প্লেস আইডির কোনও সর্বাধিক দৈর্ঘ্য নেই)। উদাহরণ:

  • 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 লাইব্রেরি ব্যবহার করে কোনও জায়গা সার্চ করা হল, প্লেস আইডি ব্যবহার করার একটি সাধারণ উপায়। তারপর, জায়গার বিবরণ পেতে, ফেরত পাওয়া জায়গার আইডি ব্যবহার করুন। আপনি জায়গার আইডি স্টোর করতে এবং পরে একই জায়গার বিবরণ ফিরিয়ে আনতে এটি ব্যবহার করতে পারবেন। এই ডকুমেন্টের পরে প্লেস আইডি সেভ করা সম্পর্কে পড়ুন।

iOS-এর জন্য Places SDK ব্যবহার করার উদাহরণ

প্লেস আইডি হল একটি টেক্সচুয়াল শনাক্তকারী যা অনন্যভাবে কোনও জায়গা শনাক্ত করে। iOS-এর জন্য Places SDK-তে, আপনি GMSPlace অবজেক্ট থেকে কোনও জায়গার আইডি ফিরিয়ে আনতে পারবেন। আপনি জায়গার আইডি স্টোর করে রাখতে পারেন এবং পরে আবার GMSPlace অবজেক্ট ফিরিয়ে আনতে এটি ব্যবহার করতে পারেন।

আইডি দিয়ে কোনও জায়গা পেতে, GMSPlacesClient fetchPlaceFromPlaceID: কল করুন, নিম্নলিখিত প্যারামিটার পাস করুন:

  • একটি স্ট্রিং যাতে একটি স্থান আইডি রয়েছে।
  • এক বা একাধিক GMSPlaceField, যা ফেরত দেওয়ার জন্য ডেটার ধরন নির্দিষ্ট করে।
  • অটোকমপ্লিট কোয়েরি সম্পূর্ণ করার জন্য কল করা হলে সেশন টোকেন। অন্যথায়, nil পাস করুন।
  • ফলাফল ম্যানেজ করার জন্য GMSPlaceResultCallback।

API নির্দিষ্ট কলব্যাক পদ্ধতিকে আহ্বান করে, GMSPlace অবজেক্টে পাস করে। জায়গাটি খুঁজে পাওয়া না গেলে, জায়গা অবজেক্টটি শূন্য হবে।

iOS-এর জন্য Places Swift 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)")
  }
}

Swift

// 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)")
  }
})

Objective-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 Platform-এর পরিষেবার শর্তাবলীর অনুচ্ছেদ ৩.২.৩(খ)-তে উল্লেখ করা ক্যাশিং সংক্রান্ত বিধিনিষেধ থেকে প্লেস আইডি ছাড় পায়। তাই, আপনি পরে ব্যবহারের জন্য প্লেস আইডি ভ্যালু স্টোর করতে পারেন।

সেভ করা প্লেস আইডি রিফ্রেশ করুন

Google Maps ডেটাবেসে আপডেট হওয়ার কারণে প্লেস আইডি পরিবর্তন হতে পারে, তাই Google সাজেস্ট করে যে প্লেস আইডি ১২ মাসের বেশি পুরনো হলে তা রিফ্রেশ করে নিন। আপনি বিনা খরচে জায়গার আইডি রিফ্রেশ করতে পারবেন, এর জন্য আপনাকে জায়গার বিবরণ সংক্রান্ত অনুরোধ করতে হবে, যেখানে fields প্যারামিটারে শুধু GMSPlaceFieldPlaceID ফিল্ড উল্লেখ করতে হবে।

এই কলটি 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