স্থান স্বয়ংসম্পূর্ণ (নতুন)

প্ল্যাটফর্ম নির্বাচন করুন: Android iOS জাভাস্ক্রিপ্ট ওয়েব পরিষেবা

স্বয়ংসম্পূর্ণ (নতুন) পরিষেবা হল একটি iOS API যা একটি অনুরোধের প্রতিক্রিয়া হিসাবে স্থানের পরামর্শ প্রদান করে৷ অনুরোধে, একটি পাঠ্য অনুসন্ধান স্ট্রিং এবং ভৌগলিক সীমা নির্দিষ্ট করুন যা অনুসন্ধান এলাকা নিয়ন্ত্রণ করে।

স্বয়ংসম্পূর্ণ (নতুন) পরিষেবাটি ইনপুটের সম্পূর্ণ শব্দ এবং সাবস্ট্রিংগুলির সাথে মিলতে পারে, স্থানের নাম, ঠিকানা এবং প্লাস কোডগুলি সমাধান করতে পারে৷ অ্যাপ্লিকেশনগুলি তাই ব্যবহারকারীর ধরন হিসাবে প্রশ্ন পাঠাতে পারে, যাতে উড়ে যাওয়ার জায়গায় পরামর্শ দেওয়া যায়।

নির্দিষ্ট ইনপুট টেক্সট স্ট্রিং এবং অনুসন্ধান এলাকার উপর ভিত্তি করে স্থানের পরামর্শ হল স্থান, যেমন ব্যবসা, ঠিকানা এবং আগ্রহের স্থান।

উদাহরণ স্বরূপ, আপনি API-কে ইনপুট হিসাবে ব্যবহার করে একটি স্ট্রিং কল করেন যাতে একটি আংশিক ব্যবহারকারী ইনপুট, "Spagh" থাকে, অনুসন্ধান এলাকা নিউইয়র্ক সিটিতে সীমাবদ্ধ থাকে। তারপরে প্রতিক্রিয়াটিতে স্থানের পরামর্শের একটি তালিকা রয়েছে যা অনুসন্ধান স্ট্রিং এবং অনুসন্ধান এলাকার সাথে মেলে, যেমন "ক্যাফে স্প্যাগেটি" নামের রেস্তোরাঁর সাথে জায়গার বিবরণ সহ।

প্রত্যাবর্তিত স্থানের পরামর্শগুলি ব্যবহারকারীর কাছে উপস্থাপন করার জন্য ডিজাইন করা হয়েছে যাতে তারা পছন্দসই স্থান নির্বাচন করতে পারে। আপনি একটি স্থান বিবরণ (নতুন) অনুরোধ করতে পারেন প্রত্যাবর্তিত স্থান প্রস্তাবনা সম্পর্কে আরো তথ্য পেতে.

স্বয়ংসম্পূর্ণ (নতুন) অনুরোধ

GMSPlaceClient এ একটি পদ্ধতিতে কল করে একটি স্বয়ংসম্পূর্ণ অনুরোধ তৈরি করুন। আপনি GMSAutocompleteRequest অবজেক্টে প্যারামিটার পাস করতে পারেন। প্রতিক্রিয়া একটি GMSAutocompletePlaceSuggestion অবজেক্টের মধ্যে স্বয়ংসম্পূর্ণ পরামর্শ প্রদান করে।

API কী এবং query প্যারামিটার প্রয়োজন। আপনি একটি বিলিং সেশনের সাথে অনুরোধগুলি সংযুক্ত করতে GMSAutocompleteSessionToken এবং ফলাফলগুলিতে আবেদন করার জন্য GMSAutocompleteFilter অন্তর্ভুক্ত করতে পারেন।

প্রয়োজনীয় এবং ঐচ্ছিক পরামিতি সম্পর্কে আরও তথ্যের জন্য, এই নথির পরামিতি বিভাগটি দেখুন।

সুইফট

let token = GMSAutocompleteSessionToken()

let northWestBounds = CLLocationCoordinate2DMake(40.921628, -73.700051)
let southEastBounds = CLLocationCoordinate2DMake(40.477398, -74.259087)

let filter = GMSAutocompleteFilter()
filter.types = [kGMSPlaceTypeRestaurant]
filter.locationBias = GMSPlaceRectangularLocationOption(northWestBounds, southEastBounds)
    
let request = GMSAutocompleteRequest(query:"Spagh")
request.filter = filter
request.sessionToken = token

GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in
      if let error = error {
        print("Autocomplete error: \(error)")
        return
      }
      if let autocompleteResults = results {
        for result in autocompleteResults {
          print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))")
        }
      }
    })

উদ্দেশ্য-C

CLLocationCoordinate2D northEast = CLLocationCoordinate2DMake(37.388162, -122.088137);
CLLocationCoordinate2D southWest = CLLocationCoordinate2DMake(37.395804, -122.077023);

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.types = @[ kGMSPlaceTypeRestaurant ];
filter.locationBias = GMSPlaceRectangularLocationOption(northEast, southWest);
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Sicilian piz"];
request.sessionToken = token;
request.filter = filter;

[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
  // Handle response
  for (GMSAutocompleteSuggestion *suggestion in results) {
    if (suggestion.placeSuggestion) {
      // Show place suggestion data.
    }
  }
}];

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let center = (37.3913916, -122.0879074)
let northEast = (37.388162, -122.088137)
let southWest = (37.395804, -122.077023)

let bias = RectangularCoordinateRegion(northEast: northEast, southWest: southWest)
let filter = AutocompleteFilter(types: [ .restaurant ], origin: center, coordinateRegionBias: bias)

let autocompleteRequest = AutocompleteRequest(query: "Sicilian piz", filter: filter)
switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) {
case .success(let autocompleteSuggestions):
  // Handle suggestions.
case .failure(let placesError):
  // Handle error.
}

স্বয়ংসম্পূর্ণ (নতুন) প্রতিক্রিয়া

স্বয়ংসম্পূর্ণ পাঁচটি পর্যন্ত GMSAutocompleteSuggestion দৃষ্টান্তের একটি অ্যারে প্রদান করে। অ্যারেতে রয়েছে:

  • placeID
  • types : এই জায়গায় প্রযোজ্য প্রকার।
  • distanceMeters : উৎপত্তি থেকে দূরত্ব।
  • attributedFullText : একটি পরামর্শের সম্পূর্ণ মানব-পাঠযোগ্য পাঠ্য।
  • attributedPrimaryText : একটি সাজেশনের মানব-পাঠযোগ্য প্রাথমিক পাঠ্য।
  • attributedSecondaryText : একটি সাজেশনের মানব-পাঠযোগ্য সেকেন্ডারি টেক্সট।
  • structuredFormat : নির্দিষ্ট নাম এবং দ্ব্যর্থহীন পাঠ্য, যেমন শহর বা অঞ্চল।

প্রয়োজনীয় পরামিতি

প্রশ্ন

যে টেক্সট স্ট্রিংটিতে সার্চ করতে হবে। সম্পূর্ণ শব্দ এবং সাবস্ট্রিং, স্থানের নাম, ঠিকানা এবং প্লাস কোড নির্দিষ্ট করুন। স্বয়ংসম্পূর্ণ (নতুন) পরিষেবা এই স্ট্রিংয়ের উপর ভিত্তি করে প্রার্থীর মিল ফেরত দেয় এবং তাদের অনুভূত প্রাসঙ্গিকতার উপর ভিত্তি করে ফলাফল অর্ডার করে।

ঐচ্ছিক পরামিতি

প্রকার

একটি স্থানের সাথে যুক্ত সারণী A বা সারণী B প্রকার থেকে শুধুমাত্র একটি একক প্রাথমিক প্রকার থাকতে পারে। উদাহরণস্বরূপ, প্রাথমিক প্রকার হতে পারে mexican_restaurant বা steak_house

ডিফল্টরূপে, এপিআই input প্যারামিটারের উপর ভিত্তি করে সমস্ত স্থান প্রদান করে, স্থানের সাথে সম্পর্কিত প্রাথমিক প্রকারের মান নির্বিশেষে। types প্যারামিটার পাস করে ফলাফলগুলিকে একটি নির্দিষ্ট প্রাথমিক প্রকার বা প্রাথমিক প্রকারের হতে সীমাবদ্ধ করুন।

সারণি A বা টেবিল B থেকে পাঁচটি পর্যন্ত মান নির্দিষ্ট করতে এই প্যারামিটারটি ব্যবহার করুন। প্রতিক্রিয়াতে অন্তর্ভুক্ত করার জন্য নির্দিষ্ট প্রাথমিক প্রকারের মানগুলির একটির সাথে একটি স্থান অবশ্যই মিলবে৷

অনুরোধটি একটি INVALID_REQUEST ত্রুটির সাথে প্রত্যাখ্যান করা হয় যদি:

  • পাঁচটিরও বেশি প্রকার নির্দিষ্ট করা হয়েছে।
  • কোনো অচেনা ধরনের নির্দিষ্ট করা হয়.

দেশ

শুধুমাত্র 15 ccTLD ("শীর্ষ-স্তরের ডোমেন") দুই-অক্ষরের মানগুলির একটি অ্যারে হিসাবে নির্দিষ্ট করা নির্দিষ্ট অঞ্চলের তালিকা থেকে ফলাফলগুলি অন্তর্ভুক্ত করুন৷ যদি বাদ দেওয়া হয়, তবে প্রতিক্রিয়াতে কোনো বিধিনিষেধ প্রয়োগ করা হয় না। উদাহরণস্বরূপ, অঞ্চলগুলিকে জার্মানি এবং ফ্রান্সের মধ্যে সীমাবদ্ধ করতে:

সুইফট

let filter = GMSAutocompleteFilter()
filter.countries = ["DE", "FR"]

উদ্দেশ্য-C

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.countries = @[ @"DE", @"FR" ];

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let filter = AutocompleteFilter(countries: ["DE", "FR"])
  

যদি আপনি locationRestriction এবং countries উভয়ই নির্দিষ্ট করেন, ফলাফল দুটি সেটিংসের ছেদ এলাকায় অবস্থিত।

ইনপুটঅফসেট

শূন্য-ভিত্তিক ইউনিকোড অক্ষর অফসেট input কার্সার অবস্থান নির্দেশ করে। ভবিষ্যদ্বাণীগুলি কী ফেরত দেওয়া হয় তা কার্সারের অবস্থান প্রভাবিত করতে পারে। খালি থাকলে, এটি input দৈর্ঘ্যে ডিফল্ট হয়।

অবস্থানবিয়াস বা অবস্থান সীমাবদ্ধতা

অনুসন্ধান এলাকা নির্ধারণ করতে আপনি locationBias বা locationRestriction উল্লেখ করতে পারেন, কিন্তু উভয়ই নয়। ফলাফলগুলি যে অঞ্চলের মধ্যে হতে হবে সেটিকে নির্দিষ্ট করে locationRestriction এবং locationBias সেই অঞ্চলটি নির্দিষ্ট করে যে ফলাফলগুলি অবশ্যই কাছাকাছি হতে হবে তবে এলাকার বাইরে হতে পারে বলে মনে করুন৷

  • locationBias অনুসন্ধান করার জন্য একটি এলাকা নির্দিষ্ট করে। এই অবস্থানটি একটি পক্ষপাতিত্ব হিসাবে কাজ করে, যার অর্থ নির্দিষ্ট স্থানের আশেপাশের ফলাফলগুলি নির্দিষ্ট এলাকার বাইরের ফলাফল সহ ফেরত দেওয়া যেতে পারে৷

  • locationRestriction অনুসন্ধান করার জন্য একটি এলাকা নির্দিষ্ট করে। নির্দিষ্ট এলাকার বাইরে ফলাফল ফেরত দেওয়া হয় না.

একটি আয়তক্ষেত্রাকার ভিউপোর্ট বা একটি বৃত্ত হিসাবে locationBias বা locationRestriction অঞ্চল নির্দিষ্ট করুন।

একটি বৃত্তকে কেন্দ্র বিন্দু এবং মিটারে ব্যাসার্ধ দ্বারা সংজ্ঞায়িত করা হয়। ব্যাসার্ধ অবশ্যই 0.0 এবং 50000.0 এর মধ্যে হতে হবে। ডিফল্ট মান হল 0.0। locationRestriction জন্য, আপনাকে অবশ্যই ব্যাসার্ধটি 0.0-এর চেয়ে বেশি মান নির্ধারণ করতে হবে। অন্যথায়, অনুরোধ কোন ফলাফল প্রদান করে.

যেমন:

সুইফট

let center = CLLocationCoordinate2DMake(40.730610, -73.935242)
let radius = 1000.0

filter.locationBias = GMSPlaceCircularLocationOption(center, radius)

উদ্দেশ্য-C

CLLocationCoordinate2D center = CLLocationCoordinate2DMake(40.730610, -73.935242);
radius = 1000.0;

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.locationBias = GMSPlaceCircularLocationOption(center, radius);

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let center = CLLocationCoordinate2DMake(40.477398, -74.259087)

let bias = CircularCoordinateRegion(center: center, radius: 1000.0)

let filter = AutocompleteFilter(coordinateRegionBias: bias)      
  

একটি আয়তক্ষেত্র হল একটি অক্ষাংশ-দ্রাঘিমাংশের ভিউপোর্ট, যা দুটি তির্যকভাবে বিপরীত low এবং high বিন্দু হিসাবে উপস্থাপিত হয়। একটি ভিউপোর্ট একটি বন্ধ অঞ্চল হিসাবে বিবেচিত হয়, যার অর্থ এটি এর সীমানা অন্তর্ভুক্ত করে। অক্ষাংশের সীমাগুলি অবশ্যই -90 থেকে 90 ডিগ্রী সহ, এবং দ্রাঘিমাংশের সীমাগুলি অবশ্যই -180 থেকে 180 ডিগ্রীর মধ্যে অন্তর্ভুক্ত থাকতে হবে:

  • low = high হলে, ভিউপোর্টটি সেই একক বিন্দু নিয়ে গঠিত।
  • low.longitude > high.longitude হলে, দ্রাঘিমাংশের সীমাটি উল্টানো হয় (ভিউপোর্টটি 180 ডিগ্রি দ্রাঘিমাংশের রেখা অতিক্রম করে)।
  • low.longitude = -180 ডিগ্রি এবং high.longitude = 180 ডিগ্রি হলে, ভিউপোর্টে সমস্ত দ্রাঘিমাংশ অন্তর্ভুক্ত থাকে।
  • low.longitude = 180 ডিগ্রি এবং high.longitude = -180 ডিগ্রি হলে, দ্রাঘিমাংশের পরিসর খালি।

low এবং high উভয়ই জনবসতিপূর্ণ হতে হবে এবং প্রতিনিধিত্ব করা বাক্সটি খালি হতে পারে না। একটি খালি ভিউপোর্ট একটি ত্রুটির ফলাফল.

উদাহরণস্বরূপ, এই ভিউপোর্টটি সম্পূর্ণরূপে নিউ ইয়র্ক সিটিকে ঘিরে রেখেছে:

সুইফট

let high = CLLocationCoordinate2DMake(40.921628, -73.700051)
let low = CLLocationCoordinate2DMake(40.477398, -74.259087)

let filter = GMSAutocompleteFilter()
filter.locationBias = GMSPlaceRectangularLocationOption(high, low)

উদ্দেশ্য-C

CLLocationCoordinate2D high = CLLocationCoordinate2DMake(40.477398, -74.259087);
CLLocationCoordinate2D low = CLLocationCoordinate2DMake(440.921628, -73.700051);

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.locationBias = GMSPlaceRectangularLocationOption(high, low);

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let northEast = CLLocationCoordinate2DMake(40.477398, -74.259087)
let southWest = CLLocationCoordinate2DMake(40.921628, -73.700051)

let filter = AutocompleteFilter(coordinateRegionBias: bias)
  

মূল

মূল বিন্দু যেখান থেকে গন্তব্যে সরলরেখার দূরত্ব গণনা করতে হবে ( distanceMeters হিসাবে ফিরে এসেছে)। যদি এই মানটি বাদ দেওয়া হয়, সরল-রেখার দূরত্ব ফেরত দেওয়া হবে না। অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক হিসাবে নির্দিষ্ট করা আবশ্যক:

সুইফট

let filter = GMSAutocompleteFilter()
filter.origin =  CLLocation(latitude: 37.395804, longitude: -122.077023)
 

উদ্দেশ্য-C

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];

filter.origin = [[CLLocation alloc] initWithLatitude:37.395804 longitude: -122.077023];

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let filter = AutocompleteFilter(origin: CLLocation(latitude: 37.395804, longitude: -122.077023))
  

অঞ্চল কোড

প্রতিক্রিয়া ফর্ম্যাট করতে ব্যবহৃত অঞ্চল কোড, একটি ccTLD ("টপ-লেভেল ডোমেন") দুই-অক্ষরের মান হিসাবে নির্দিষ্ট করা হয়েছে। কিছু উল্লেখযোগ্য ব্যতিক্রম সহ বেশিরভাগ ccTLD কোডগুলি ISO 3166-1 কোডগুলির সাথে অভিন্ন। উদাহরণস্বরূপ, ইউনাইটেড কিংডমের ccTLD হল "uk" (.co.uk) যেখানে এর ISO 3166-1 কোড হল "gb" (প্রযুক্তিগতভাবে "The United Kingdom of Great Britain and Northern Ireland" এর সত্তার জন্য)।

আপনি যদি একটি অবৈধ অঞ্চল কোড নির্দিষ্ট করেন, API একটি INVALID_ARGUMENT ত্রুটি প্রদান করে৷ প্যারামিটার প্রযোজ্য আইনের উপর ভিত্তি করে ফলাফলকে প্রভাবিত করতে পারে।

সেশন টোকেন

সেশন টোকেন হল ব্যবহারকারী-উত্পাদিত স্ট্রিং যা স্বয়ংসম্পূর্ণ (নতুন) কলগুলিকে "সেশন" হিসাবে ট্র্যাক করে। স্বয়ংসম্পূর্ণ (নতুন) বিলিং উদ্দেশ্যে একটি পৃথক সেশনে ব্যবহারকারী স্বয়ংসম্পূর্ণ অনুসন্ধানের প্রশ্ন এবং নির্বাচনের পর্যায়গুলিকে গ্রুপ করতে সেশন টোকেন ব্যবহার করে। আরও তথ্যের জন্য, সেশন টোকেন দেখুন।

স্বয়ংসম্পূর্ণ (নতুন) উদাহরণ

অবস্থান সীমাবদ্ধতা এবং অবস্থানবিয়াস ব্যবহার করুন

স্বয়ংসম্পূর্ণ (নতুন) অনুসন্ধান এলাকা নিয়ন্ত্রণ করতে ডিফল্টরূপে আইপি বায়াসিং ব্যবহার করে। আইপি বায়াসিংয়ের সাথে, API ফলাফলের পক্ষপাতিত্ব করতে ডিভাইসের IP ঠিকানা ব্যবহার করে। অনুসন্ধান করার জন্য একটি এলাকা নির্দিষ্ট করতে আপনি ঐচ্ছিকভাবে locationRestriction বা locationBias ব্যবহার করতে পারেন, কিন্তু উভয়ই নয়।

অবস্থান সীমাবদ্ধতা অনুসন্ধান করার জন্য এলাকা নির্দিষ্ট করে। নির্দিষ্ট এলাকার বাইরে ফলাফল ফেরত দেওয়া হয় না. নিম্নলিখিত উদাহরণটি সান ফ্রান্সিসকোকে কেন্দ্র করে 5000-মিটার ব্যাসার্ধের সাথে একটি বৃত্তাকার অবস্থানের সীমাবদ্ধতার অনুরোধকে সীমাবদ্ধ করতে অবস্থানের সীমাবদ্ধতা ব্যবহার করে:

সুইফট

let token = GMSAutocompleteSessionToken()

let center = CLLocationCoordinate2DMake(37.775061, -122.419400)
let radius = 5000.0

let filter = GMSAutocompleteFilter()
filter.locationRestriction = GMSPlaceCircularLocationOption(center, radius)
    
let request = GMSAutocompleteRequest(query:"Piz")
request.filter = filter
request.sessionToken = token

GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in
      if let error = error {
        print("Autocomplete error: \(error)")
        return
      }
      if let autocompleteResults = results {
        for result in autocompleteResults {
          print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))")
        }
      }
    })

উদ্দেশ্য-C

CLLocationCoordinate2D center = CLLocationCoordinate2DMake(37.775061, -122.419400);
radius = 5000.0;

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.locationRestriction = GMSPlaceCircularLocationOption(center, radius);
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Sicilian piz"];
request.sessionToken = token;
request.filter = filter;

[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
  // Handle response
  for (GMSAutocompleteSuggestion *suggestion in results) {
    if (suggestion.placeSuggestion) {
      // Show place suggestion data.
    }
  }
}];

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let center = (37.775061, -122.419400)
let radius = 5000.0
let restriction = CircularCoordinateRegion(center: center, radius: radius)
let filter = AutocompleteFilter(coordinateRegionRestriction: restriction)
let token = AutocompleteSessionToken()

let autocompleteRequest = AutocompleteRequest(query: "Sicilian piz", sessionToken: token, filter: filter)
switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) {
case .success(let autocompleteSuggestions):
  for suggestion in autocompleteSuggestions {
    switch suggestion {
    case .place:
      // Show place suggestion data.
    }
  }
case .failure(let placesError):
  // Handle error.
}
  

অবস্থানের পক্ষপাতের সাথে, অবস্থানটি পক্ষপাত হিসাবে কাজ করে, যার অর্থ নির্দিষ্ট এলাকার বাইরের ফলাফল সহ নির্দিষ্ট অবস্থানের চারপাশের ফলাফলগুলি ফেরত দেওয়া যেতে পারে। পরবর্তী উদাহরণ অবস্থান পক্ষপাত ব্যবহার করার পূর্ববর্তী অনুরোধ পরিবর্তন করে:

সুইফট

let token = GMSAutocompleteSessionToken()

let center = CLLocationCoordinate2DMake(37.775061, -122.419400)
let radius = 5000.0

let filter = GMSAutocompleteFilter()
filter.locationBias = GMSPlaceCircularLocationOption(center, radius)
    
let request = GMSAutocompleteRequest(query:"Piz")
request.filter = filter
request.sessionToken = token

GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in
      if let error = error {
        print("Autocomplete error: \(error)")
        return
      }
      if let autocompleteResults = results {
        for result in autocompleteResults {
          print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))")
        }
      }
    })

উদ্দেশ্য-C

CLLocationCoordinate2D center = CLLocationCoordinate2DMake(37.775061, -122.419400);
radius = 5000.0;

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.locationBias = GMSPlaceCircularLocationOption(center, radius);
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Sicilian piz"];
request.sessionToken = token;
request.filter = filter;

[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
  // Handle response
  for (GMSAutocompleteSuggestion *suggestion in results) {
    if (suggestion.placeSuggestion) {
      // Show place suggestion data.
    }
  }
}];

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let center = (37.775061, -122.419400)
let radius = 5000.0
let bias = CircularCoordinateRegion(center: center, radius: radius)
let filter = AutocompleteFilter(coordinateRegionBias: bias)
let token = AutocompleteSessionToken()

let autocompleteRequest = AutocompleteRequest(query: "Sicilian piz", sessionToken: token, filter: filter)
switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) {
case .success(let autocompleteSuggestions):
  for suggestion in autocompleteSuggestions {
    switch suggestion {
    case .place:
      // Show place suggestion data.
    }
  }
case .failure(let placesError):
  // Handle error.
}
  

প্রকারগুলি ব্যবহার করুন

সারণি A এবং সারণি B- তে তালিকাভুক্ত একটি নির্দিষ্ট ধরনের হওয়ার অনুরোধ থেকে ফলাফল সীমাবদ্ধ করতে প্রকারের প্যারামিটার ব্যবহার করুন। আপনি পাঁচটি মান পর্যন্ত একটি অ্যারে নির্দিষ্ট করতে পারেন। বাদ দেওয়া হলে, সব ধরনের ফেরত দেওয়া হয়.

নিম্নলিখিত উদাহরণটি "সকার" এর একটি ক্যোয়ারী স্ট্রিং নির্দিষ্ট করে এবং "sporting_goods_store" টাইপের প্রতিষ্ঠানগুলিতে ফলাফল সীমাবদ্ধ করতে প্রকারের প্যারামিটার ব্যবহার করে:

সুইফট

let token = GMSAutocompleteSessionToken()

let filter = GMSAutocompleteFilter()
filter.types = ["sporting_goods_store"]
    
let request = GMSAutocompleteRequest(query:"Soccer")
request.filter = filter
request.sessionToken = token

GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in
      if let error = error {
        print("Autocomplete error: \(error)")
        return
      }
      if let autocompleteResults = results {
        for result in autocompleteResults {
          print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))")
        }
      }
    })

উদ্দেশ্য-C

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.types = @[ "sporting_goods_store" ];
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Soccer"];
request.sessionToken = token;
request.filter = filter;

[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
  // Handle response
  for (GMSAutocompleteSuggestion *suggestion in results) {
    if (suggestion.placeSuggestion) {
      // Show place suggestion data.
    }
  }
}];

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let filter = AutocompleteFilter(types: [ PlaceType(rawValue: "sporting_goods_store") ])
let token = AutocompleteSessionToken()

let autocompleteRequest = AutocompleteRequest(query: "Soccer", sessionToken: token, filter: filter)
switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) {
case .success(let autocompleteSuggestions):
  for suggestion in autocompleteSuggestions {
    switch suggestion {
    case .place:
      // Show place suggestion data.
    }
  }
case .failure(let placesError):
  // Handle error.
}
    

মূল ব্যবহার করুন

আপনি যখন অনুরোধে origin প্যারামিটারটি অন্তর্ভুক্ত করেন, অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক হিসাবে নির্দিষ্ট করা হয়, তখন API প্রতিক্রিয়াতে উত্স থেকে গন্তব্যের সরল-রেখার দূরত্ব অন্তর্ভুক্ত করে। প্রতিক্রিয়া দূরত্বকে distanceMeters হিসাবে প্রদান করে।

এই উদাহরণটি সান ফ্রান্সিসকোর কেন্দ্রে উত্স সেট করে:

সুইফট

let token = GMSAutocompleteSessionToken()

let origin = CLLocation(latitude: 37.7749, longitude: -122.4194)

let filter = GMSAutocompleteFilter()

filter.origin =  origin
    
let request = GMSAutocompleteRequest(query:"Amoeba")
request.filter = filter
request.sessionToken = token

GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in
      if let error = error {
        print("Autocomplete error: \(error)")
        return
      }
      if let autocompleteResults = results {
        for result in autocompleteResults {
          print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText)) and distance: \(String(describing: result.placeSuggestion?.distanceMeters))")
        }
      }
    })

উদ্দেশ্য-C

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.origin = [[CLLocation alloc] initWithLatitude:37.395804 longitude:-122.077023];
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Amoeba"];
request.sessionToken = token;
request.filter = filter;

[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
  // Handle response
  for (GMSAutocompleteSuggestion *suggestion in results) {
    if (suggestion.placeSuggestion) {
      // Show place suggestion data.
      }
    }
}];

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let filter = AutocompleteFilter(origin: CLLocation(latitude: 37.7749, longitude: -122.4194))
let token = AutocompleteSessionToken()

let autocompleteRequest = AutocompleteRequest(query: "Amoeba", sessionToken: token, filter: filter)
switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) {
case .success(let autocompleteSuggestions):
  for suggestion in autocompleteSuggestions {
    switch suggestion {
    case .place:
      // Show place suggestion data.
    }
  }
case .failure(let placesError):
  // Handle error.
}
  

গুণাবলী

আপনি একটি মানচিত্র ছাড়া স্বয়ংসম্পূর্ণ (নতুন) ব্যবহার করতে পারেন. আপনি যদি একটি মানচিত্র দেখান তবে এটি অবশ্যই একটি Google মানচিত্র হতে হবে। আপনি যখন ম্যাপ ছাড়াই স্বয়ংসম্পূর্ণ (নতুন) পরিষেবা থেকে পরামর্শগুলি প্রদর্শন করেন, তখন আপনাকে অবশ্যই অনুসন্ধান ক্ষেত্র/ফলাফলের সাথে ইনলাইনে প্রদর্শিত Google লোগো অন্তর্ভুক্ত করতে হবে। আরও তথ্যের জন্য, Google লোগো এবং বৈশিষ্ট্য প্রদর্শন করা দেখুন।

,

প্ল্যাটফর্ম নির্বাচন করুন: Android iOS জাভাস্ক্রিপ্ট ওয়েব পরিষেবা

স্বয়ংসম্পূর্ণ (নতুন) পরিষেবা হল একটি iOS API যা একটি অনুরোধের প্রতিক্রিয়া হিসাবে স্থানের পরামর্শ প্রদান করে৷ অনুরোধে, একটি পাঠ্য অনুসন্ধান স্ট্রিং এবং ভৌগলিক সীমা নির্দিষ্ট করুন যা অনুসন্ধান এলাকা নিয়ন্ত্রণ করে।

স্বয়ংসম্পূর্ণ (নতুন) পরিষেবাটি ইনপুটের সম্পূর্ণ শব্দ এবং সাবস্ট্রিংগুলির সাথে মিলতে পারে, স্থানের নাম, ঠিকানা এবং প্লাস কোডগুলি সমাধান করতে পারে৷ অ্যাপ্লিকেশনগুলি তাই ব্যবহারকারীর ধরন হিসাবে প্রশ্ন পাঠাতে পারে, যাতে উড়ে যাওয়ার জায়গায় পরামর্শ দেওয়া যায়।

নির্দিষ্ট ইনপুট টেক্সট স্ট্রিং এবং অনুসন্ধান এলাকার উপর ভিত্তি করে স্থানের পরামর্শ হল স্থান, যেমন ব্যবসা, ঠিকানা এবং আগ্রহের স্থান।

উদাহরণ স্বরূপ, আপনি API-কে ইনপুট হিসাবে ব্যবহার করে একটি স্ট্রিং কল করেন যাতে একটি আংশিক ব্যবহারকারী ইনপুট, "Spagh" থাকে, অনুসন্ধান এলাকা নিউইয়র্ক সিটিতে সীমাবদ্ধ থাকে। তারপরে প্রতিক্রিয়াটিতে স্থানের পরামর্শের একটি তালিকা রয়েছে যা অনুসন্ধান স্ট্রিং এবং অনুসন্ধান এলাকার সাথে মেলে, যেমন "ক্যাফে স্প্যাগেটি" নামের রেস্তোরাঁর সাথে জায়গার বিবরণ সহ।

প্রত্যাবর্তিত স্থানের পরামর্শগুলি ব্যবহারকারীর কাছে উপস্থাপন করার জন্য ডিজাইন করা হয়েছে যাতে তারা পছন্দসই স্থান নির্বাচন করতে পারে। আপনি একটি স্থান বিবরণ (নতুন) অনুরোধ করতে পারেন প্রত্যাবর্তিত স্থান প্রস্তাবনা সম্পর্কে আরো তথ্য পেতে.

স্বয়ংসম্পূর্ণ (নতুন) অনুরোধ

GMSPlaceClient এ একটি পদ্ধতিতে কল করে একটি স্বয়ংসম্পূর্ণ অনুরোধ তৈরি করুন। আপনি GMSAutocompleteRequest অবজেক্টে প্যারামিটার পাস করতে পারেন। প্রতিক্রিয়া একটি GMSAutocompletePlaceSuggestion অবজেক্টের মধ্যে স্বয়ংসম্পূর্ণ পরামর্শ প্রদান করে।

API কী এবং query প্যারামিটার প্রয়োজন। আপনি একটি বিলিং সেশনের সাথে অনুরোধগুলি সংযুক্ত করতে GMSAutocompleteSessionToken এবং ফলাফলগুলিতে আবেদন করার জন্য GMSAutocompleteFilter অন্তর্ভুক্ত করতে পারেন।

প্রয়োজনীয় এবং ঐচ্ছিক পরামিতি সম্পর্কে আরও তথ্যের জন্য, এই নথির পরামিতি বিভাগটি দেখুন।

সুইফট

let token = GMSAutocompleteSessionToken()

let northWestBounds = CLLocationCoordinate2DMake(40.921628, -73.700051)
let southEastBounds = CLLocationCoordinate2DMake(40.477398, -74.259087)

let filter = GMSAutocompleteFilter()
filter.types = [kGMSPlaceTypeRestaurant]
filter.locationBias = GMSPlaceRectangularLocationOption(northWestBounds, southEastBounds)
    
let request = GMSAutocompleteRequest(query:"Spagh")
request.filter = filter
request.sessionToken = token

GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in
      if let error = error {
        print("Autocomplete error: \(error)")
        return
      }
      if let autocompleteResults = results {
        for result in autocompleteResults {
          print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))")
        }
      }
    })

উদ্দেশ্য-C

CLLocationCoordinate2D northEast = CLLocationCoordinate2DMake(37.388162, -122.088137);
CLLocationCoordinate2D southWest = CLLocationCoordinate2DMake(37.395804, -122.077023);

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.types = @[ kGMSPlaceTypeRestaurant ];
filter.locationBias = GMSPlaceRectangularLocationOption(northEast, southWest);
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Sicilian piz"];
request.sessionToken = token;
request.filter = filter;

[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
  // Handle response
  for (GMSAutocompleteSuggestion *suggestion in results) {
    if (suggestion.placeSuggestion) {
      // Show place suggestion data.
    }
  }
}];

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let center = (37.3913916, -122.0879074)
let northEast = (37.388162, -122.088137)
let southWest = (37.395804, -122.077023)

let bias = RectangularCoordinateRegion(northEast: northEast, southWest: southWest)
let filter = AutocompleteFilter(types: [ .restaurant ], origin: center, coordinateRegionBias: bias)

let autocompleteRequest = AutocompleteRequest(query: "Sicilian piz", filter: filter)
switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) {
case .success(let autocompleteSuggestions):
  // Handle suggestions.
case .failure(let placesError):
  // Handle error.
}

স্বয়ংসম্পূর্ণ (নতুন) প্রতিক্রিয়া

স্বয়ংসম্পূর্ণ পাঁচটি পর্যন্ত GMSAutocompleteSuggestion দৃষ্টান্তের একটি অ্যারে প্রদান করে। অ্যারেতে রয়েছে:

  • placeID
  • types : এই জায়গায় প্রযোজ্য প্রকার।
  • distanceMeters : উৎপত্তি থেকে দূরত্ব।
  • attributedFullText : একটি পরামর্শের সম্পূর্ণ মানব-পাঠযোগ্য পাঠ্য।
  • attributedPrimaryText : একটি সাজেশনের মানব-পাঠযোগ্য প্রাথমিক পাঠ্য।
  • attributedSecondaryText : একটি সাজেশনের মানব-পাঠযোগ্য সেকেন্ডারি টেক্সট।
  • structuredFormat : নির্দিষ্ট নাম এবং দ্ব্যর্থহীন পাঠ্য, যেমন শহর বা অঞ্চল।

প্রয়োজনীয় পরামিতি

প্রশ্ন

যে টেক্সট স্ট্রিংটিতে সার্চ করতে হবে। সম্পূর্ণ শব্দ এবং সাবস্ট্রিং, স্থানের নাম, ঠিকানা এবং প্লাস কোড নির্দিষ্ট করুন। স্বয়ংসম্পূর্ণ (নতুন) পরিষেবা এই স্ট্রিংয়ের উপর ভিত্তি করে প্রার্থীর মিল ফেরত দেয় এবং তাদের অনুভূত প্রাসঙ্গিকতার উপর ভিত্তি করে ফলাফল অর্ডার করে।

ঐচ্ছিক পরামিতি

প্রকার

একটি স্থানের সাথে যুক্ত সারণী A বা সারণী B প্রকার থেকে শুধুমাত্র একটি একক প্রাথমিক প্রকার থাকতে পারে। উদাহরণস্বরূপ, প্রাথমিক প্রকার হতে পারে mexican_restaurant বা steak_house

ডিফল্টরূপে, এপিআই input প্যারামিটারের উপর ভিত্তি করে সমস্ত স্থান প্রদান করে, স্থানের সাথে সম্পর্কিত প্রাথমিক প্রকারের মান নির্বিশেষে। types প্যারামিটার পাস করে ফলাফলগুলিকে একটি নির্দিষ্ট প্রাথমিক প্রকার বা প্রাথমিক প্রকারের হতে সীমাবদ্ধ করুন।

সারণি A বা টেবিল B থেকে পাঁচটি পর্যন্ত মান নির্দিষ্ট করতে এই প্যারামিটারটি ব্যবহার করুন। প্রতিক্রিয়াতে অন্তর্ভুক্ত করার জন্য নির্দিষ্ট প্রাথমিক প্রকারের মানগুলির একটির সাথে একটি স্থান অবশ্যই মিলবে৷

অনুরোধটি একটি INVALID_REQUEST ত্রুটির সাথে প্রত্যাখ্যান করা হয় যদি:

  • পাঁচটিরও বেশি প্রকার নির্দিষ্ট করা হয়েছে।
  • কোনো অচেনা ধরনের নির্দিষ্ট করা হয়.

দেশ

শুধুমাত্র 15 ccTLD ("শীর্ষ-স্তরের ডোমেন") দুই-অক্ষরের মানগুলির একটি অ্যারে হিসাবে নির্দিষ্ট করা নির্দিষ্ট অঞ্চলের তালিকা থেকে ফলাফলগুলি অন্তর্ভুক্ত করুন৷ যদি বাদ দেওয়া হয়, তবে প্রতিক্রিয়াতে কোনো বিধিনিষেধ প্রয়োগ করা হয় না। উদাহরণস্বরূপ, অঞ্চলগুলিকে জার্মানি এবং ফ্রান্সের মধ্যে সীমাবদ্ধ করতে:

সুইফট

let filter = GMSAutocompleteFilter()
filter.countries = ["DE", "FR"]

উদ্দেশ্য-C

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.countries = @[ @"DE", @"FR" ];

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let filter = AutocompleteFilter(countries: ["DE", "FR"])
  

যদি আপনি locationRestriction এবং countries উভয়ই নির্দিষ্ট করেন, ফলাফল দুটি সেটিংসের ছেদ এলাকায় অবস্থিত।

ইনপুটঅফসেট

শূন্য-ভিত্তিক ইউনিকোড অক্ষর অফসেট input কার্সার অবস্থান নির্দেশ করে। ভবিষ্যদ্বাণীগুলি কী ফেরত দেওয়া হয় তা কার্সারের অবস্থান প্রভাবিত করতে পারে। খালি থাকলে, এটি input দৈর্ঘ্যে ডিফল্ট হয়।

অবস্থানবিয়াস বা অবস্থান সীমাবদ্ধতা

অনুসন্ধান এলাকা নির্ধারণ করতে আপনি locationBias বা locationRestriction উল্লেখ করতে পারেন, কিন্তু উভয়ই নয়। ফলাফলগুলি যে অঞ্চলের মধ্যে হতে হবে সেটিকে নির্দিষ্ট করে locationRestriction এবং locationBias সেই অঞ্চলটি নির্দিষ্ট করে যে ফলাফলগুলি অবশ্যই কাছাকাছি হতে হবে তবে এলাকার বাইরে হতে পারে বলে মনে করুন৷

  • locationBias অনুসন্ধান করার জন্য একটি এলাকা নির্দিষ্ট করে। এই অবস্থানটি একটি পক্ষপাতিত্ব হিসাবে কাজ করে, যার অর্থ নির্দিষ্ট স্থানের আশেপাশের ফলাফলগুলি নির্দিষ্ট এলাকার বাইরের ফলাফল সহ ফেরত দেওয়া যেতে পারে৷

  • locationRestriction অনুসন্ধান করার জন্য একটি এলাকা নির্দিষ্ট করে। নির্দিষ্ট এলাকার বাইরে ফলাফল ফেরত দেওয়া হয় না.

একটি আয়তক্ষেত্রাকার ভিউপোর্ট বা একটি বৃত্ত হিসাবে locationBias বা locationRestriction অঞ্চল নির্দিষ্ট করুন।

একটি বৃত্তকে কেন্দ্র বিন্দু এবং মিটারে ব্যাসার্ধ দ্বারা সংজ্ঞায়িত করা হয়। ব্যাসার্ধ অবশ্যই 0.0 এবং 50000.0 এর মধ্যে হতে হবে। ডিফল্ট মান হল 0.0। locationRestriction জন্য, আপনাকে অবশ্যই ব্যাসার্ধটি 0.0-এর চেয়ে বেশি মান নির্ধারণ করতে হবে। অন্যথায়, অনুরোধ কোন ফলাফল প্রদান করে.

যেমন:

সুইফট

let center = CLLocationCoordinate2DMake(40.730610, -73.935242)
let radius = 1000.0

filter.locationBias = GMSPlaceCircularLocationOption(center, radius)

উদ্দেশ্য-C

CLLocationCoordinate2D center = CLLocationCoordinate2DMake(40.730610, -73.935242);
radius = 1000.0;

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.locationBias = GMSPlaceCircularLocationOption(center, radius);

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let center = CLLocationCoordinate2DMake(40.477398, -74.259087)

let bias = CircularCoordinateRegion(center: center, radius: 1000.0)

let filter = AutocompleteFilter(coordinateRegionBias: bias)      
  

একটি আয়তক্ষেত্র হল একটি অক্ষাংশ-দ্রাঘিমাংশের ভিউপোর্ট, যা দুটি তির্যকভাবে বিপরীত low এবং high বিন্দু হিসাবে উপস্থাপিত হয়। একটি ভিউপোর্ট একটি বন্ধ অঞ্চল হিসাবে বিবেচিত হয়, যার অর্থ এটি এর সীমানা অন্তর্ভুক্ত করে। অক্ষাংশের সীমাগুলি অবশ্যই -90 থেকে 90 ডিগ্রী সহ, এবং দ্রাঘিমাংশের সীমাগুলি অবশ্যই -180 থেকে 180 ডিগ্রীর মধ্যে অন্তর্ভুক্ত থাকতে হবে:

  • low = high হলে, ভিউপোর্টটি সেই একক বিন্দু নিয়ে গঠিত।
  • low.longitude > high.longitude হলে, দ্রাঘিমাংশের সীমাটি উল্টানো হয় (ভিউপোর্টটি 180 ডিগ্রি দ্রাঘিমাংশের রেখা অতিক্রম করে)।
  • low.longitude = -180 ডিগ্রি এবং high.longitude = 180 ডিগ্রি হলে, ভিউপোর্টে সমস্ত দ্রাঘিমাংশ অন্তর্ভুক্ত থাকে।
  • low.longitude = 180 ডিগ্রি এবং high.longitude = -180 ডিগ্রি হলে, দ্রাঘিমাংশের পরিসর খালি।

low এবং high উভয়ই জনবসতিপূর্ণ হতে হবে এবং প্রতিনিধিত্ব করা বাক্সটি খালি হতে পারে না। একটি খালি ভিউপোর্ট একটি ত্রুটির ফলাফল.

উদাহরণস্বরূপ, এই ভিউপোর্টটি সম্পূর্ণরূপে নিউ ইয়র্ক সিটিকে ঘিরে রেখেছে:

সুইফট

let high = CLLocationCoordinate2DMake(40.921628, -73.700051)
let low = CLLocationCoordinate2DMake(40.477398, -74.259087)

let filter = GMSAutocompleteFilter()
filter.locationBias = GMSPlaceRectangularLocationOption(high, low)

উদ্দেশ্য-C

CLLocationCoordinate2D high = CLLocationCoordinate2DMake(40.477398, -74.259087);
CLLocationCoordinate2D low = CLLocationCoordinate2DMake(440.921628, -73.700051);

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.locationBias = GMSPlaceRectangularLocationOption(high, low);

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let northEast = CLLocationCoordinate2DMake(40.477398, -74.259087)
let southWest = CLLocationCoordinate2DMake(40.921628, -73.700051)

let filter = AutocompleteFilter(coordinateRegionBias: bias)
  

মূল

মূল বিন্দু যেখান থেকে গন্তব্যে সরলরেখার দূরত্ব গণনা করতে হবে ( distanceMeters হিসাবে ফিরে এসেছে)। যদি এই মানটি বাদ দেওয়া হয়, সরল-রেখার দূরত্ব ফেরত দেওয়া হবে না। অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক হিসাবে নির্দিষ্ট করা আবশ্যক:

সুইফট

let filter = GMSAutocompleteFilter()
filter.origin =  CLLocation(latitude: 37.395804, longitude: -122.077023)
 

উদ্দেশ্য-C

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];

filter.origin = [[CLLocation alloc] initWithLatitude:37.395804 longitude: -122.077023];

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let filter = AutocompleteFilter(origin: CLLocation(latitude: 37.395804, longitude: -122.077023))
  

অঞ্চল কোড

প্রতিক্রিয়া ফর্ম্যাট করতে ব্যবহৃত অঞ্চল কোড, একটি ccTLD ("টপ-লেভেল ডোমেন") দুই-অক্ষরের মান হিসাবে নির্দিষ্ট করা হয়েছে। কিছু উল্লেখযোগ্য ব্যতিক্রম সহ বেশিরভাগ ccTLD কোডগুলি ISO 3166-1 কোডগুলির সাথে অভিন্ন। উদাহরণস্বরূপ, ইউনাইটেড কিংডমের ccTLD হল "uk" (.co.uk) যেখানে এর ISO 3166-1 কোড হল "gb" (প্রযুক্তিগতভাবে "The United Kingdom of Great Britain and Northern Ireland" এর সত্তার জন্য)।

আপনি যদি একটি অবৈধ অঞ্চল কোড নির্দিষ্ট করেন, API একটি INVALID_ARGUMENT ত্রুটি প্রদান করে৷ প্যারামিটার প্রযোজ্য আইনের উপর ভিত্তি করে ফলাফলকে প্রভাবিত করতে পারে।

সেশন টোকেন

সেশন টোকেন হল ব্যবহারকারী-উত্পাদিত স্ট্রিং যা স্বয়ংসম্পূর্ণ (নতুন) কলগুলিকে "সেশন" হিসাবে ট্র্যাক করে। স্বয়ংসম্পূর্ণ (নতুন) বিলিং উদ্দেশ্যে একটি পৃথক সেশনে ব্যবহারকারী স্বয়ংসম্পূর্ণ অনুসন্ধানের প্রশ্ন এবং নির্বাচনের পর্যায়গুলিকে গ্রুপ করতে সেশন টোকেন ব্যবহার করে। আরও তথ্যের জন্য, সেশন টোকেন দেখুন।

স্বয়ংসম্পূর্ণ (নতুন) উদাহরণ

অবস্থান সীমাবদ্ধতা এবং অবস্থানবিয়াস ব্যবহার করুন

স্বয়ংসম্পূর্ণ (নতুন) অনুসন্ধান এলাকা নিয়ন্ত্রণ করতে ডিফল্টরূপে আইপি বায়াসিং ব্যবহার করে। আইপি বায়াসিংয়ের সাথে, API ফলাফলের পক্ষপাতিত্ব করতে ডিভাইসের IP ঠিকানা ব্যবহার করে। অনুসন্ধান করার জন্য একটি এলাকা নির্দিষ্ট করতে আপনি ঐচ্ছিকভাবে locationRestriction বা locationBias ব্যবহার করতে পারেন, কিন্তু উভয়ই নয়।

অবস্থান সীমাবদ্ধতা অনুসন্ধান করার জন্য এলাকা নির্দিষ্ট করে। নির্দিষ্ট এলাকার বাইরে ফলাফল ফেরত দেওয়া হয় না. নিম্নলিখিত উদাহরণটি সান ফ্রান্সিসকোকে কেন্দ্র করে 5000-মিটার ব্যাসার্ধের সাথে একটি বৃত্তাকার অবস্থানের সীমাবদ্ধতার অনুরোধকে সীমাবদ্ধ করতে অবস্থানের সীমাবদ্ধতা ব্যবহার করে:

সুইফট

let token = GMSAutocompleteSessionToken()

let center = CLLocationCoordinate2DMake(37.775061, -122.419400)
let radius = 5000.0

let filter = GMSAutocompleteFilter()
filter.locationRestriction = GMSPlaceCircularLocationOption(center, radius)
    
let request = GMSAutocompleteRequest(query:"Piz")
request.filter = filter
request.sessionToken = token

GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in
      if let error = error {
        print("Autocomplete error: \(error)")
        return
      }
      if let autocompleteResults = results {
        for result in autocompleteResults {
          print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))")
        }
      }
    })

উদ্দেশ্য-C

CLLocationCoordinate2D center = CLLocationCoordinate2DMake(37.775061, -122.419400);
radius = 5000.0;

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.locationRestriction = GMSPlaceCircularLocationOption(center, radius);
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Sicilian piz"];
request.sessionToken = token;
request.filter = filter;

[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
  // Handle response
  for (GMSAutocompleteSuggestion *suggestion in results) {
    if (suggestion.placeSuggestion) {
      // Show place suggestion data.
    }
  }
}];

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let center = (37.775061, -122.419400)
let radius = 5000.0
let restriction = CircularCoordinateRegion(center: center, radius: radius)
let filter = AutocompleteFilter(coordinateRegionRestriction: restriction)
let token = AutocompleteSessionToken()

let autocompleteRequest = AutocompleteRequest(query: "Sicilian piz", sessionToken: token, filter: filter)
switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) {
case .success(let autocompleteSuggestions):
  for suggestion in autocompleteSuggestions {
    switch suggestion {
    case .place:
      // Show place suggestion data.
    }
  }
case .failure(let placesError):
  // Handle error.
}
  

অবস্থানের পক্ষপাতের সাথে, অবস্থানটি পক্ষপাত হিসাবে কাজ করে, যার অর্থ নির্দিষ্ট এলাকার বাইরের ফলাফল সহ নির্দিষ্ট অবস্থানের চারপাশের ফলাফলগুলি ফেরত দেওয়া যেতে পারে। পরবর্তী উদাহরণ অবস্থান পক্ষপাত ব্যবহার করার পূর্ববর্তী অনুরোধ পরিবর্তন করে:

সুইফট

let token = GMSAutocompleteSessionToken()

let center = CLLocationCoordinate2DMake(37.775061, -122.419400)
let radius = 5000.0

let filter = GMSAutocompleteFilter()
filter.locationBias = GMSPlaceCircularLocationOption(center, radius)
    
let request = GMSAutocompleteRequest(query:"Piz")
request.filter = filter
request.sessionToken = token

GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in
      if let error = error {
        print("Autocomplete error: \(error)")
        return
      }
      if let autocompleteResults = results {
        for result in autocompleteResults {
          print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))")
        }
      }
    })

উদ্দেশ্য-C

CLLocationCoordinate2D center = CLLocationCoordinate2DMake(37.775061, -122.419400);
radius = 5000.0;

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.locationBias = GMSPlaceCircularLocationOption(center, radius);
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Sicilian piz"];
request.sessionToken = token;
request.filter = filter;

[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
  // Handle response
  for (GMSAutocompleteSuggestion *suggestion in results) {
    if (suggestion.placeSuggestion) {
      // Show place suggestion data.
    }
  }
}];

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let center = (37.775061, -122.419400)
let radius = 5000.0
let bias = CircularCoordinateRegion(center: center, radius: radius)
let filter = AutocompleteFilter(coordinateRegionBias: bias)
let token = AutocompleteSessionToken()

let autocompleteRequest = AutocompleteRequest(query: "Sicilian piz", sessionToken: token, filter: filter)
switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) {
case .success(let autocompleteSuggestions):
  for suggestion in autocompleteSuggestions {
    switch suggestion {
    case .place:
      // Show place suggestion data.
    }
  }
case .failure(let placesError):
  // Handle error.
}
  

প্রকারগুলি ব্যবহার করুন

সারণি A এবং সারণি B- তে তালিকাভুক্ত একটি নির্দিষ্ট ধরনের হওয়ার অনুরোধ থেকে ফলাফল সীমাবদ্ধ করতে প্রকারের প্যারামিটার ব্যবহার করুন। আপনি পাঁচটি মান পর্যন্ত একটি অ্যারে নির্দিষ্ট করতে পারেন। বাদ দেওয়া হলে, সব ধরনের ফেরত দেওয়া হয়.

নিম্নলিখিত উদাহরণটি "সকার" এর একটি ক্যোয়ারী স্ট্রিং নির্দিষ্ট করে এবং "sporting_goods_store" টাইপের প্রতিষ্ঠানগুলিতে ফলাফল সীমাবদ্ধ করতে প্রকারের প্যারামিটার ব্যবহার করে:

সুইফট

let token = GMSAutocompleteSessionToken()

let filter = GMSAutocompleteFilter()
filter.types = ["sporting_goods_store"]
    
let request = GMSAutocompleteRequest(query:"Soccer")
request.filter = filter
request.sessionToken = token

GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in
      if let error = error {
        print("Autocomplete error: \(error)")
        return
      }
      if let autocompleteResults = results {
        for result in autocompleteResults {
          print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))")
        }
      }
    })

উদ্দেশ্য-C

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.types = @[ "sporting_goods_store" ];
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Soccer"];
request.sessionToken = token;
request.filter = filter;

[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
  // Handle response
  for (GMSAutocompleteSuggestion *suggestion in results) {
    if (suggestion.placeSuggestion) {
      // Show place suggestion data.
    }
  }
}];

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let filter = AutocompleteFilter(types: [ PlaceType(rawValue: "sporting_goods_store") ])
let token = AutocompleteSessionToken()

let autocompleteRequest = AutocompleteRequest(query: "Soccer", sessionToken: token, filter: filter)
switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) {
case .success(let autocompleteSuggestions):
  for suggestion in autocompleteSuggestions {
    switch suggestion {
    case .place:
      // Show place suggestion data.
    }
  }
case .failure(let placesError):
  // Handle error.
}
    

মূল ব্যবহার করুন

আপনি যখন অনুরোধে origin প্যারামিটারটি অন্তর্ভুক্ত করেন, অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক হিসাবে নির্দিষ্ট করা হয়, তখন API প্রতিক্রিয়াতে উত্স থেকে গন্তব্যের সরল-রেখার দূরত্ব অন্তর্ভুক্ত করে। প্রতিক্রিয়া দূরত্বকে distanceMeters হিসাবে প্রদান করে।

এই উদাহরণটি সান ফ্রান্সিসকোর কেন্দ্রে উত্স সেট করে:

সুইফট

let token = GMSAutocompleteSessionToken()

let origin = CLLocation(latitude: 37.7749, longitude: -122.4194)

let filter = GMSAutocompleteFilter()

filter.origin =  origin
    
let request = GMSAutocompleteRequest(query:"Amoeba")
request.filter = filter
request.sessionToken = token

GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in
      if let error = error {
        print("Autocomplete error: \(error)")
        return
      }
      if let autocompleteResults = results {
        for result in autocompleteResults {
          print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText)) and distance: \(String(describing: result.placeSuggestion?.distanceMeters))")
        }
      }
    })

উদ্দেশ্য-C

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.origin = [[CLLocation alloc] initWithLatitude:37.395804 longitude:-122.077023];
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Amoeba"];
request.sessionToken = token;
request.filter = filter;

[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
  // Handle response
  for (GMSAutocompleteSuggestion *suggestion in results) {
    if (suggestion.placeSuggestion) {
      // Show place suggestion data.
      }
    }
}];

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let filter = AutocompleteFilter(origin: CLLocation(latitude: 37.7749, longitude: -122.4194))
let token = AutocompleteSessionToken()

let autocompleteRequest = AutocompleteRequest(query: "Amoeba", sessionToken: token, filter: filter)
switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) {
case .success(let autocompleteSuggestions):
  for suggestion in autocompleteSuggestions {
    switch suggestion {
    case .place:
      // Show place suggestion data.
    }
  }
case .failure(let placesError):
  // Handle error.
}
  

গুণাবলী

আপনি একটি মানচিত্র ছাড়া স্বয়ংসম্পূর্ণ (নতুন) ব্যবহার করতে পারেন. আপনি যদি একটি মানচিত্র দেখান তবে এটি অবশ্যই একটি Google মানচিত্র হতে হবে। আপনি যখন ম্যাপ ছাড়াই স্বয়ংসম্পূর্ণ (নতুন) পরিষেবা থেকে পরামর্শগুলি প্রদর্শন করেন, তখন আপনাকে অবশ্যই অনুসন্ধান ক্ষেত্র/ফলাফলের সাথে ইনলাইনে প্রদর্শিত Google লোগো অন্তর্ভুক্ত করতে হবে। আরও তথ্যের জন্য, Google লোগো এবং বৈশিষ্ট্য প্রদর্শন করা দেখুন।

,

প্ল্যাটফর্ম নির্বাচন করুন: Android iOS জাভাস্ক্রিপ্ট ওয়েব পরিষেবা

স্বয়ংসম্পূর্ণ (নতুন) পরিষেবা হল একটি iOS API যা একটি অনুরোধের প্রতিক্রিয়া হিসাবে স্থানের পরামর্শ প্রদান করে৷ অনুরোধে, একটি পাঠ্য অনুসন্ধান স্ট্রিং এবং ভৌগলিক সীমা নির্দিষ্ট করুন যা অনুসন্ধান এলাকা নিয়ন্ত্রণ করে।

স্বয়ংসম্পূর্ণ (নতুন) পরিষেবাটি ইনপুটের সম্পূর্ণ শব্দ এবং সাবস্ট্রিংগুলির সাথে মিলতে পারে, স্থানের নাম, ঠিকানা এবং প্লাস কোডগুলি সমাধান করতে পারে৷ অ্যাপ্লিকেশনগুলি তাই ব্যবহারকারীর ধরন হিসাবে প্রশ্ন পাঠাতে পারে, যাতে উড়ে যাওয়ার জায়গায় পরামর্শ দেওয়া যায়।

নির্দিষ্ট ইনপুট টেক্সট স্ট্রিং এবং অনুসন্ধান এলাকার উপর ভিত্তি করে স্থানের পরামর্শ হল স্থান, যেমন ব্যবসা, ঠিকানা এবং আগ্রহের স্থান।

উদাহরণ স্বরূপ, আপনি API-কে ইনপুট হিসাবে ব্যবহার করে একটি স্ট্রিং কল করেন যাতে একটি আংশিক ব্যবহারকারী ইনপুট, "Spagh" থাকে, অনুসন্ধান এলাকা নিউইয়র্ক সিটিতে সীমাবদ্ধ থাকে। তারপরে প্রতিক্রিয়াটিতে স্থানের পরামর্শের একটি তালিকা রয়েছে যা অনুসন্ধান স্ট্রিং এবং অনুসন্ধান এলাকার সাথে মেলে, যেমন "ক্যাফে স্প্যাগেটি" নামের রেস্তোরাঁর সাথে জায়গার বিবরণ সহ।

প্রত্যাবর্তিত স্থানের পরামর্শগুলি ব্যবহারকারীর কাছে উপস্থাপন করার জন্য ডিজাইন করা হয়েছে যাতে তারা পছন্দসই স্থান নির্বাচন করতে পারে। আপনি একটি স্থান বিবরণ (নতুন) অনুরোধ করতে পারেন প্রত্যাবর্তিত স্থান প্রস্তাবনা সম্পর্কে আরো তথ্য পেতে.

স্বয়ংসম্পূর্ণ (নতুন) অনুরোধ

GMSPlaceClient এ একটি পদ্ধতিতে কল করে একটি স্বয়ংসম্পূর্ণ অনুরোধ তৈরি করুন। আপনি GMSAutocompleteRequest অবজেক্টে প্যারামিটার পাস করতে পারেন। প্রতিক্রিয়া একটি GMSAutocompletePlaceSuggestion অবজেক্টের মধ্যে স্বয়ংসম্পূর্ণ পরামর্শ প্রদান করে।

API কী এবং query প্যারামিটার প্রয়োজন। আপনি একটি বিলিং সেশনের সাথে অনুরোধগুলি সংযুক্ত করতে GMSAutocompleteSessionToken এবং ফলাফলগুলিতে আবেদন করার জন্য GMSAutocompleteFilter অন্তর্ভুক্ত করতে পারেন।

প্রয়োজনীয় এবং ঐচ্ছিক পরামিতি সম্পর্কে আরও তথ্যের জন্য, এই নথির পরামিতি বিভাগটি দেখুন।

সুইফট

let token = GMSAutocompleteSessionToken()

let northWestBounds = CLLocationCoordinate2DMake(40.921628, -73.700051)
let southEastBounds = CLLocationCoordinate2DMake(40.477398, -74.259087)

let filter = GMSAutocompleteFilter()
filter.types = [kGMSPlaceTypeRestaurant]
filter.locationBias = GMSPlaceRectangularLocationOption(northWestBounds, southEastBounds)
    
let request = GMSAutocompleteRequest(query:"Spagh")
request.filter = filter
request.sessionToken = token

GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in
      if let error = error {
        print("Autocomplete error: \(error)")
        return
      }
      if let autocompleteResults = results {
        for result in autocompleteResults {
          print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))")
        }
      }
    })

উদ্দেশ্য-C

CLLocationCoordinate2D northEast = CLLocationCoordinate2DMake(37.388162, -122.088137);
CLLocationCoordinate2D southWest = CLLocationCoordinate2DMake(37.395804, -122.077023);

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.types = @[ kGMSPlaceTypeRestaurant ];
filter.locationBias = GMSPlaceRectangularLocationOption(northEast, southWest);
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Sicilian piz"];
request.sessionToken = token;
request.filter = filter;

[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
  // Handle response
  for (GMSAutocompleteSuggestion *suggestion in results) {
    if (suggestion.placeSuggestion) {
      // Show place suggestion data.
    }
  }
}];

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let center = (37.3913916, -122.0879074)
let northEast = (37.388162, -122.088137)
let southWest = (37.395804, -122.077023)

let bias = RectangularCoordinateRegion(northEast: northEast, southWest: southWest)
let filter = AutocompleteFilter(types: [ .restaurant ], origin: center, coordinateRegionBias: bias)

let autocompleteRequest = AutocompleteRequest(query: "Sicilian piz", filter: filter)
switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) {
case .success(let autocompleteSuggestions):
  // Handle suggestions.
case .failure(let placesError):
  // Handle error.
}

স্বয়ংসম্পূর্ণ (নতুন) প্রতিক্রিয়া

স্বয়ংসম্পূর্ণ পাঁচটি পর্যন্ত GMSAutocompleteSuggestion দৃষ্টান্তের একটি অ্যারে প্রদান করে। অ্যারেতে রয়েছে:

  • placeID
  • types : এই জায়গায় প্রযোজ্য প্রকার।
  • distanceMeters : উৎপত্তি থেকে দূরত্ব।
  • attributedFullText : একটি পরামর্শের সম্পূর্ণ মানব-পাঠযোগ্য পাঠ্য।
  • attributedPrimaryText : একটি সাজেশনের মানব-পাঠযোগ্য প্রাথমিক পাঠ্য।
  • attributedSecondaryText : একটি সাজেশনের মানব-পাঠযোগ্য সেকেন্ডারি টেক্সট।
  • structuredFormat : নির্দিষ্ট নাম এবং দ্ব্যর্থহীন পাঠ্য, যেমন শহর বা অঞ্চল।

প্রয়োজনীয় পরামিতি

প্রশ্ন

যে টেক্সট স্ট্রিংটিতে সার্চ করতে হবে। সম্পূর্ণ শব্দ এবং সাবস্ট্রিং, স্থানের নাম, ঠিকানা এবং প্লাস কোড নির্দিষ্ট করুন। স্বয়ংসম্পূর্ণ (নতুন) পরিষেবা এই স্ট্রিংয়ের উপর ভিত্তি করে প্রার্থীর মিল ফেরত দেয় এবং তাদের অনুভূত প্রাসঙ্গিকতার উপর ভিত্তি করে ফলাফল অর্ডার করে।

ঐচ্ছিক পরামিতি

প্রকার

একটি স্থানের সাথে যুক্ত সারণী A বা সারণী B প্রকার থেকে শুধুমাত্র একটি একক প্রাথমিক প্রকার থাকতে পারে। উদাহরণস্বরূপ, প্রাথমিক প্রকার হতে পারে mexican_restaurant বা steak_house

ডিফল্টরূপে, এপিআই input প্যারামিটারের উপর ভিত্তি করে সমস্ত স্থান প্রদান করে, স্থানের সাথে সম্পর্কিত প্রাথমিক প্রকারের মান নির্বিশেষে। types প্যারামিটার পাস করে ফলাফলগুলিকে একটি নির্দিষ্ট প্রাথমিক প্রকার বা প্রাথমিক প্রকারের হতে সীমাবদ্ধ করুন।

সারণি A বা টেবিল B থেকে পাঁচটি পর্যন্ত মান নির্দিষ্ট করতে এই প্যারামিটারটি ব্যবহার করুন। প্রতিক্রিয়াতে অন্তর্ভুক্ত করার জন্য নির্দিষ্ট প্রাথমিক প্রকারের মানগুলির একটির সাথে একটি স্থান অবশ্যই মিলবে৷

অনুরোধটি একটি INVALID_REQUEST ত্রুটির সাথে প্রত্যাখ্যান করা হয় যদি:

  • পাঁচটিরও বেশি প্রকার নির্দিষ্ট করা হয়েছে।
  • কোনো অচেনা ধরনের নির্দিষ্ট করা হয়.

দেশ

শুধুমাত্র 15 ccTLD ("শীর্ষ-স্তরের ডোমেন") দুই-অক্ষরের মানগুলির একটি অ্যারে হিসাবে নির্দিষ্ট করা নির্দিষ্ট অঞ্চলের তালিকা থেকে ফলাফলগুলি অন্তর্ভুক্ত করুন৷ যদি বাদ দেওয়া হয়, তবে প্রতিক্রিয়াতে কোনো বিধিনিষেধ প্রয়োগ করা হয় না। উদাহরণস্বরূপ, অঞ্চলগুলিকে জার্মানি এবং ফ্রান্সের মধ্যে সীমাবদ্ধ করতে:

সুইফট

let filter = GMSAutocompleteFilter()
filter.countries = ["DE", "FR"]

উদ্দেশ্য-C

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.countries = @[ @"DE", @"FR" ];

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let filter = AutocompleteFilter(countries: ["DE", "FR"])
  

যদি আপনি locationRestriction এবং countries উভয়ই নির্দিষ্ট করেন, ফলাফল দুটি সেটিংসের ছেদ এলাকায় অবস্থিত।

ইনপুটঅফসেট

শূন্য-ভিত্তিক ইউনিকোড অক্ষর অফসেট input কার্সার অবস্থান নির্দেশ করে। ভবিষ্যদ্বাণীগুলি কী ফেরত দেওয়া হয় তা কার্সারের অবস্থান প্রভাবিত করতে পারে। খালি থাকলে, এটি input দৈর্ঘ্যে ডিফল্ট হয়।

অবস্থানবিয়াস বা অবস্থান সীমাবদ্ধতা

অনুসন্ধান এলাকা নির্ধারণ করতে আপনি locationBias বা locationRestriction উল্লেখ করতে পারেন, কিন্তু উভয়ই নয়। ফলাফলগুলি যে অঞ্চলের মধ্যে হতে হবে সেটিকে নির্দিষ্ট করে locationRestriction এবং locationBias সেই অঞ্চলটি নির্দিষ্ট করে যে ফলাফলগুলি অবশ্যই কাছাকাছি হতে হবে তবে এলাকার বাইরে হতে পারে বলে মনে করুন৷

  • locationBias অনুসন্ধান করার জন্য একটি এলাকা নির্দিষ্ট করে। এই অবস্থানটি একটি পক্ষপাতিত্ব হিসাবে কাজ করে, যার অর্থ নির্দিষ্ট স্থানের আশেপাশের ফলাফলগুলি নির্দিষ্ট এলাকার বাইরের ফলাফল সহ ফেরত দেওয়া যেতে পারে৷

  • locationRestriction অনুসন্ধান করার জন্য একটি এলাকা নির্দিষ্ট করে। নির্দিষ্ট এলাকার বাইরে ফলাফল ফেরত দেওয়া হয় না.

একটি আয়তক্ষেত্রাকার ভিউপোর্ট বা একটি বৃত্ত হিসাবে locationBias বা locationRestriction অঞ্চল নির্দিষ্ট করুন।

একটি বৃত্তকে কেন্দ্র বিন্দু এবং মিটারে ব্যাসার্ধ দ্বারা সংজ্ঞায়িত করা হয়। ব্যাসার্ধ অবশ্যই 0.0 এবং 50000.0 এর মধ্যে হতে হবে। ডিফল্ট মান হল 0.0। locationRestriction জন্য, আপনাকে অবশ্যই ব্যাসার্ধটি 0.0-এর চেয়ে বেশি মান নির্ধারণ করতে হবে। অন্যথায়, অনুরোধ কোন ফলাফল প্রদান করে.

যেমন:

সুইফট

let center = CLLocationCoordinate2DMake(40.730610, -73.935242)
let radius = 1000.0

filter.locationBias = GMSPlaceCircularLocationOption(center, radius)

উদ্দেশ্য-C

CLLocationCoordinate2D center = CLLocationCoordinate2DMake(40.730610, -73.935242);
radius = 1000.0;

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.locationBias = GMSPlaceCircularLocationOption(center, radius);

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let center = CLLocationCoordinate2DMake(40.477398, -74.259087)

let bias = CircularCoordinateRegion(center: center, radius: 1000.0)

let filter = AutocompleteFilter(coordinateRegionBias: bias)      
  

একটি আয়তক্ষেত্র হল একটি অক্ষাংশ-দ্রাঘিমাংশের ভিউপোর্ট, যা দুটি তির্যকভাবে বিপরীত low এবং high বিন্দু হিসাবে উপস্থাপিত হয়। একটি ভিউপোর্ট একটি বন্ধ অঞ্চল হিসাবে বিবেচিত হয়, যার অর্থ এটি এর সীমানা অন্তর্ভুক্ত করে। অক্ষাংশের সীমাগুলি অবশ্যই -90 থেকে 90 ডিগ্রী সহ, এবং দ্রাঘিমাংশের সীমাগুলি অবশ্যই -180 থেকে 180 ডিগ্রীর মধ্যে অন্তর্ভুক্ত থাকতে হবে:

  • low = high হলে, ভিউপোর্টটি সেই একক বিন্দু নিয়ে গঠিত।
  • low.longitude > high.longitude হলে, দ্রাঘিমাংশের সীমাটি উল্টানো হয় (ভিউপোর্টটি 180 ডিগ্রি দ্রাঘিমাংশের রেখা অতিক্রম করে)।
  • low.longitude = -180 ডিগ্রি এবং high.longitude = 180 ডিগ্রি হলে, ভিউপোর্টে সমস্ত দ্রাঘিমাংশ অন্তর্ভুক্ত থাকে।
  • low.longitude = 180 ডিগ্রি এবং high.longitude = -180 ডিগ্রি হলে, দ্রাঘিমাংশের পরিসর খালি।

low এবং high উভয়ই জনবসতিপূর্ণ হতে হবে এবং প্রতিনিধিত্ব করা বাক্সটি খালি হতে পারে না। একটি খালি ভিউপোর্ট একটি ত্রুটির ফলাফল.

উদাহরণস্বরূপ, এই ভিউপোর্টটি সম্পূর্ণরূপে নিউ ইয়র্ক সিটিকে ঘিরে রেখেছে:

সুইফট

let high = CLLocationCoordinate2DMake(40.921628, -73.700051)
let low = CLLocationCoordinate2DMake(40.477398, -74.259087)

let filter = GMSAutocompleteFilter()
filter.locationBias = GMSPlaceRectangularLocationOption(high, low)

উদ্দেশ্য-C

CLLocationCoordinate2D high = CLLocationCoordinate2DMake(40.477398, -74.259087);
CLLocationCoordinate2D low = CLLocationCoordinate2DMake(440.921628, -73.700051);

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.locationBias = GMSPlaceRectangularLocationOption(high, low);

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let northEast = CLLocationCoordinate2DMake(40.477398, -74.259087)
let southWest = CLLocationCoordinate2DMake(40.921628, -73.700051)

let filter = AutocompleteFilter(coordinateRegionBias: bias)
  

মূল

মূল বিন্দু যেখান থেকে গন্তব্যে সরলরেখার দূরত্ব গণনা করতে হবে ( distanceMeters হিসাবে ফিরে এসেছে)। যদি এই মানটি বাদ দেওয়া হয়, সরল-রেখার দূরত্ব ফেরত দেওয়া হবে না। অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক হিসাবে নির্দিষ্ট করা আবশ্যক:

সুইফট

let filter = GMSAutocompleteFilter()
filter.origin =  CLLocation(latitude: 37.395804, longitude: -122.077023)
 

উদ্দেশ্য-C

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];

filter.origin = [[CLLocation alloc] initWithLatitude:37.395804 longitude: -122.077023];

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let filter = AutocompleteFilter(origin: CLLocation(latitude: 37.395804, longitude: -122.077023))
  

অঞ্চল কোড

প্রতিক্রিয়া ফর্ম্যাট করতে ব্যবহৃত অঞ্চল কোড, একটি ccTLD ("টপ-লেভেল ডোমেন") দুই-অক্ষরের মান হিসাবে নির্দিষ্ট করা হয়েছে। কিছু উল্লেখযোগ্য ব্যতিক্রম সহ বেশিরভাগ ccTLD কোডগুলি ISO 3166-1 কোডগুলির সাথে অভিন্ন। উদাহরণস্বরূপ, ইউনাইটেড কিংডমের ccTLD হল "uk" (.co.uk) যেখানে এর ISO 3166-1 কোড হল "gb" (প্রযুক্তিগতভাবে "The United Kingdom of Great Britain and Northern Ireland" এর সত্তার জন্য)।

আপনি যদি একটি অবৈধ অঞ্চল কোড নির্দিষ্ট করেন, API একটি INVALID_ARGUMENT ত্রুটি প্রদান করে৷ প্যারামিটার প্রযোজ্য আইনের উপর ভিত্তি করে ফলাফলকে প্রভাবিত করতে পারে।

সেশন টোকেন

সেশন টোকেন হল ব্যবহারকারী-উত্পাদিত স্ট্রিং যা স্বয়ংসম্পূর্ণ (নতুন) কলগুলিকে "সেশন" হিসাবে ট্র্যাক করে। স্বয়ংসম্পূর্ণ (নতুন) বিলিং উদ্দেশ্যে একটি পৃথক সেশনে ব্যবহারকারী স্বয়ংসম্পূর্ণ অনুসন্ধানের প্রশ্ন এবং নির্বাচনের পর্যায়গুলিকে গ্রুপ করতে সেশন টোকেন ব্যবহার করে। আরও তথ্যের জন্য, সেশন টোকেন দেখুন।

স্বয়ংসম্পূর্ণ (নতুন) উদাহরণ

অবস্থান সীমাবদ্ধতা এবং অবস্থানবিয়াস ব্যবহার করুন

স্বয়ংসম্পূর্ণ (নতুন) অনুসন্ধান এলাকা নিয়ন্ত্রণ করতে ডিফল্টরূপে আইপি বায়াসিং ব্যবহার করে। আইপি বায়াসিংয়ের সাথে, API ফলাফলের পক্ষপাতিত্ব করতে ডিভাইসের IP ঠিকানা ব্যবহার করে। অনুসন্ধান করার জন্য একটি এলাকা নির্দিষ্ট করতে আপনি ঐচ্ছিকভাবে locationRestriction বা locationBias ব্যবহার করতে পারেন, কিন্তু উভয়ই নয়।

অবস্থান সীমাবদ্ধতা অনুসন্ধান করার জন্য এলাকা নির্দিষ্ট করে। নির্দিষ্ট এলাকার বাইরে ফলাফল ফেরত দেওয়া হয় না. নিম্নলিখিত উদাহরণটি সান ফ্রান্সিসকোকে কেন্দ্র করে 5000-মিটার ব্যাসার্ধের সাথে একটি বৃত্তাকার অবস্থানের সীমাবদ্ধতার অনুরোধকে সীমাবদ্ধ করতে অবস্থানের সীমাবদ্ধতা ব্যবহার করে:

সুইফট

let token = GMSAutocompleteSessionToken()

let center = CLLocationCoordinate2DMake(37.775061, -122.419400)
let radius = 5000.0

let filter = GMSAutocompleteFilter()
filter.locationRestriction = GMSPlaceCircularLocationOption(center, radius)
    
let request = GMSAutocompleteRequest(query:"Piz")
request.filter = filter
request.sessionToken = token

GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in
      if let error = error {
        print("Autocomplete error: \(error)")
        return
      }
      if let autocompleteResults = results {
        for result in autocompleteResults {
          print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))")
        }
      }
    })

উদ্দেশ্য-C

CLLocationCoordinate2D center = CLLocationCoordinate2DMake(37.775061, -122.419400);
radius = 5000.0;

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.locationRestriction = GMSPlaceCircularLocationOption(center, radius);
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Sicilian piz"];
request.sessionToken = token;
request.filter = filter;

[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
  // Handle response
  for (GMSAutocompleteSuggestion *suggestion in results) {
    if (suggestion.placeSuggestion) {
      // Show place suggestion data.
    }
  }
}];

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let center = (37.775061, -122.419400)
let radius = 5000.0
let restriction = CircularCoordinateRegion(center: center, radius: radius)
let filter = AutocompleteFilter(coordinateRegionRestriction: restriction)
let token = AutocompleteSessionToken()

let autocompleteRequest = AutocompleteRequest(query: "Sicilian piz", sessionToken: token, filter: filter)
switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) {
case .success(let autocompleteSuggestions):
  for suggestion in autocompleteSuggestions {
    switch suggestion {
    case .place:
      // Show place suggestion data.
    }
  }
case .failure(let placesError):
  // Handle error.
}
  

অবস্থানের পক্ষপাতের সাথে, অবস্থানটি পক্ষপাত হিসাবে কাজ করে, যার অর্থ নির্দিষ্ট এলাকার বাইরের ফলাফল সহ নির্দিষ্ট অবস্থানের চারপাশের ফলাফলগুলি ফেরত দেওয়া যেতে পারে। পরবর্তী উদাহরণ অবস্থান পক্ষপাত ব্যবহার করার পূর্ববর্তী অনুরোধ পরিবর্তন করে:

সুইফট

let token = GMSAutocompleteSessionToken()

let center = CLLocationCoordinate2DMake(37.775061, -122.419400)
let radius = 5000.0

let filter = GMSAutocompleteFilter()
filter.locationBias = GMSPlaceCircularLocationOption(center, radius)
    
let request = GMSAutocompleteRequest(query:"Piz")
request.filter = filter
request.sessionToken = token

GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in
      if let error = error {
        print("Autocomplete error: \(error)")
        return
      }
      if let autocompleteResults = results {
        for result in autocompleteResults {
          print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))")
        }
      }
    })

উদ্দেশ্য-C

CLLocationCoordinate2D center = CLLocationCoordinate2DMake(37.775061, -122.419400);
radius = 5000.0;

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.locationBias = GMSPlaceCircularLocationOption(center, radius);
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Sicilian piz"];
request.sessionToken = token;
request.filter = filter;

[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
  // Handle response
  for (GMSAutocompleteSuggestion *suggestion in results) {
    if (suggestion.placeSuggestion) {
      // Show place suggestion data.
    }
  }
}];

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let center = (37.775061, -122.419400)
let radius = 5000.0
let bias = CircularCoordinateRegion(center: center, radius: radius)
let filter = AutocompleteFilter(coordinateRegionBias: bias)
let token = AutocompleteSessionToken()

let autocompleteRequest = AutocompleteRequest(query: "Sicilian piz", sessionToken: token, filter: filter)
switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) {
case .success(let autocompleteSuggestions):
  for suggestion in autocompleteSuggestions {
    switch suggestion {
    case .place:
      // Show place suggestion data.
    }
  }
case .failure(let placesError):
  // Handle error.
}
  

প্রকারগুলি ব্যবহার করুন

সারণি A এবং সারণি B- তে তালিকাভুক্ত একটি নির্দিষ্ট ধরনের হওয়ার অনুরোধ থেকে ফলাফল সীমাবদ্ধ করতে প্রকারের প্যারামিটার ব্যবহার করুন। আপনি পাঁচটি মান পর্যন্ত একটি অ্যারে নির্দিষ্ট করতে পারেন। বাদ দেওয়া হলে, সব ধরনের ফেরত দেওয়া হয়.

নিম্নলিখিত উদাহরণটি "সকার" এর একটি ক্যোয়ারী স্ট্রিং নির্দিষ্ট করে এবং "sporting_goods_store" টাইপের প্রতিষ্ঠানগুলিতে ফলাফল সীমাবদ্ধ করতে প্রকারের প্যারামিটার ব্যবহার করে:

সুইফট

let token = GMSAutocompleteSessionToken()

let filter = GMSAutocompleteFilter()
filter.types = ["sporting_goods_store"]
    
let request = GMSAutocompleteRequest(query:"Soccer")
request.filter = filter
request.sessionToken = token

GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in
      if let error = error {
        print("Autocomplete error: \(error)")
        return
      }
      if let autocompleteResults = results {
        for result in autocompleteResults {
          print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))")
        }
      }
    })

উদ্দেশ্য-C

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.types = @[ "sporting_goods_store" ];
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Soccer"];
request.sessionToken = token;
request.filter = filter;

[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
  // Handle response
  for (GMSAutocompleteSuggestion *suggestion in results) {
    if (suggestion.placeSuggestion) {
      // Show place suggestion data.
    }
  }
}];

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let filter = AutocompleteFilter(types: [ PlaceType(rawValue: "sporting_goods_store") ])
let token = AutocompleteSessionToken()

let autocompleteRequest = AutocompleteRequest(query: "Soccer", sessionToken: token, filter: filter)
switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) {
case .success(let autocompleteSuggestions):
  for suggestion in autocompleteSuggestions {
    switch suggestion {
    case .place:
      // Show place suggestion data.
    }
  }
case .failure(let placesError):
  // Handle error.
}
    

মূল ব্যবহার করুন

আপনি যখন অনুরোধে origin প্যারামিটারটি অন্তর্ভুক্ত করেন, অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক হিসাবে নির্দিষ্ট করা হয়, তখন API প্রতিক্রিয়াতে উত্স থেকে গন্তব্যের সরল-রেখার দূরত্ব অন্তর্ভুক্ত করে। প্রতিক্রিয়া দূরত্বকে distanceMeters হিসাবে প্রদান করে।

এই উদাহরণটি সান ফ্রান্সিসকোর কেন্দ্রে উত্স সেট করে:

সুইফট

let token = GMSAutocompleteSessionToken()

let origin = CLLocation(latitude: 37.7749, longitude: -122.4194)

let filter = GMSAutocompleteFilter()

filter.origin =  origin
    
let request = GMSAutocompleteRequest(query:"Amoeba")
request.filter = filter
request.sessionToken = token

GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in
      if let error = error {
        print("Autocomplete error: \(error)")
        return
      }
      if let autocompleteResults = results {
        for result in autocompleteResults {
          print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText)) and distance: \(String(describing: result.placeSuggestion?.distanceMeters))")
        }
      }
    })

উদ্দেশ্য-C

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.origin = [[CLLocation alloc] initWithLatitude:37.395804 longitude:-122.077023];
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Amoeba"];
request.sessionToken = token;
request.filter = filter;

[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
  // Handle response
  for (GMSAutocompleteSuggestion *suggestion in results) {
    if (suggestion.placeSuggestion) {
      // Show place suggestion data.
      }
    }
}];

আইওএসের জন্য সুইফট SDK রাখে (প্রিভিউ)

let filter = AutocompleteFilter(origin: CLLocation(latitude: 37.7749, longitude: -122.4194))
let token = AutocompleteSessionToken()

let autocompleteRequest = AutocompleteRequest(query: "Amoeba", sessionToken: token, filter: filter)
switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) {
case .success(let autocompleteSuggestions):
  for suggestion in autocompleteSuggestions {
    switch suggestion {
    case .place:
      // Show place suggestion data.
    }
  }
case .failure(let placesError):
  // Handle error.
}
  

গুণাবলী

আপনি একটি মানচিত্র ছাড়া স্বয়ংসম্পূর্ণ (নতুন) ব্যবহার করতে পারেন. আপনি যদি একটি মানচিত্র দেখান তবে এটি অবশ্যই একটি Google মানচিত্র হতে হবে। আপনি যখন ম্যাপ ছাড়াই স্বয়ংসম্পূর্ণ (নতুন) পরিষেবা থেকে পরামর্শগুলি প্রদর্শন করেন, তখন আপনাকে অবশ্যই অনুসন্ধান ক্ষেত্র/ফলাফলের সাথে ইনলাইনে প্রদর্শিত Google লোগো অন্তর্ভুক্ত করতে হবে। আরও তথ্যের জন্য, Google লোগো এবং বৈশিষ্ট্য প্রদর্শন করা দেখুন।