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

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

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

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

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

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

আপনার অ্যাপ PlacesClient.findAutocompletePredictions() কল করে, একটি FindAutocompletePredictionsRequest অবজেক্ট পাস করে স্বয়ংসম্পূর্ণ API থেকে পূর্বাভাসিত স্থানের নাম এবং/অথবা ঠিকানাগুলির একটি তালিকা পেতে পারে। নীচের উদাহরণটি PlacesClient.findAutocompletePredictions() এ একটি সম্পূর্ণ কল দেখায়।

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();
LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);
final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Sicilian piz")
            .setRegionCode("ES")
            .setLocationRestriction(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

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

API একটি Task একটি FindAutocompletePredictionsResponse প্রদান করে। FindAutocompletePredictionsResponse তে ভবিষ্যদ্বাণী করা স্থানগুলিকে প্রতিনিধিত্বকারী পাঁচটি পর্যন্ত AutocompletePrediction বস্তুর একটি তালিকা রয়েছে৷ ক্যোয়ারী এবং ফিল্টারের মানদণ্ডের সাথে সম্পর্কিত কোন পরিচিত স্থান না থাকলে তালিকাটি খালি হতে পারে।

প্রতিটি পূর্বাভাসিত স্থানের জন্য, আপনি স্থানের বিবরণ পুনরুদ্ধার করতে নিম্নলিখিত পদ্ধতিতে কল করতে পারেন:

  • getFullText(CharacterStyle) একটি স্থানের বিবরণের সম্পূর্ণ টেক্সট প্রদান করে। এটি প্রাথমিক এবং মাধ্যমিক পাঠ্যের সংমিশ্রণ। উদাহরণ: " আইফেল টাওয়ার, অ্যাভিনিউ আনাতোল ফ্রান্স, প্যারিস, ফ্রান্স "। এছাড়াও, এই পদ্ধতিটি আপনাকে বর্ণনার বিভাগগুলিকে হাইলাইট করতে দেয় যা আপনার পছন্দের শৈলীর সাথে অনুসন্ধানের সাথে মেলে, CharacterStyle ব্যবহার করে। CharacterStyle প্যারামিটার ঐচ্ছিক। আপনি কোনো হাইলাইট করার প্রয়োজন না হলে এটি নাল সেট করুন।
  • getPrimaryText(CharacterStyle) একটি স্থানের বর্ণনা দিয়ে মূল পাঠ্য ফেরত দেয়। এটি সাধারণত জায়গার নাম। উদাহরণ: " আইফেল টাওয়ার ", এবং " 123 পিট স্ট্রিট "।
  • getSecondaryText(CharacterStyle) একটি স্থানের বিবরণের সহায়ক পাঠ্য প্রদান করে। এটি দরকারী, উদাহরণস্বরূপ, স্বয়ংসম্পূর্ণ পূর্বাভাস দেখানোর সময় একটি দ্বিতীয় লাইন হিসাবে। উদাহরণ: " এভিনিউ আনাতোল ফ্রান্স, প্যারিস, ফ্রান্স ", এবং " সিডনি, নিউ সাউথ ওয়েলস "।
  • getPlaceId() পূর্বাভাসিত স্থানের স্থান আইডি প্রদান করে। একটি স্থান আইডি একটি পাঠ্য শনাক্তকারী যা একটি স্থানকে অনন্যভাবে সনাক্ত করে, যা আপনি পরে আবার Place বস্তুটি পুনরুদ্ধার করতে ব্যবহার করতে পারেন। স্বয়ংসম্পূর্ণে স্থান আইডি সম্পর্কে আরও তথ্যের জন্য, স্থানের বিবরণ (নতুন) দেখুন। স্থান আইডি সম্পর্কে সাধারণ তথ্যের জন্য, স্থান আইডি ওভারভিউ দেখুন।
  • getTypes() এই স্থানের সাথে যুক্ত স্থানের প্রকারের তালিকা প্রদান করে।
  • getDistanceMeters() এই স্থান এবং অনুরোধে উল্লিখিত উৎসের মধ্যে মিটারে সরলরেখার দূরত্ব প্রদান করে।

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

  • প্রশ্ন

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

    ক্যোয়ারী প্যারামিটার সেট করতে, FindAutocompletePredictionsRequest অবজেক্ট তৈরি করার সময় setQuery() পদ্ধতিতে কল করুন।

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

  • প্রাথমিক প্রকার

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

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

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

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

    প্রাথমিক প্রকারের প্যারামিটার সেট করতে, FindAutocompletePredictionsRequest অবজেক্ট তৈরি করার সময় setTypesFilter() পদ্ধতিতে কল করুন।

  • দেশগুলো

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

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

    দেশগুলির প্যারামিটার সেট করতে, FindAutocompletePredictionsRequest অবজেক্ট তৈরি করার সময় setCountries() পদ্ধতিতে কল করুন।

  • ইনপুট অফসেট

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

    ইনপুট অফসেট প্যারামিটার সেট করতে, FindAutocompletePredictionsRequest অবজেক্ট তৈরি করার সময় setInputOffset() পদ্ধতিতে কল করুন।

  • অবস্থান পক্ষপাত বা অবস্থান সীমাবদ্ধতা

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

    • অবস্থান পক্ষপাত

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

      অবস্থান পক্ষপাতের প্যারামিটার সেট করতে, FindAutocompletePredictionsRequest অবজেক্ট তৈরি করার সময় setLocationBias() পদ্ধতিতে কল করুন।

    • অবস্থান সীমাবদ্ধতা

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

      অবস্থান সীমাবদ্ধতা প্যারামিটার সেট করতে, FindAutocompletePredictionsRequest অবজেক্ট তৈরি করার সময় setLocationRestriction() পদ্ধতিতে কল করুন।

    একটি আয়তক্ষেত্রাকার ভিউপোর্ট বা একটি বৃত্ত হিসাবে অবস্থান পক্ষপাত বা অবস্থান সীমাবদ্ধতা অঞ্চল নির্দিষ্ট করুন৷

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

    • একটি আয়তক্ষেত্র হল একটি অক্ষাংশ-দ্রাঘিমাংশের ভিউপোর্ট, যা দুটি তির্যকভাবে বিপরীত 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 উভয়ই জনবসতিপূর্ণ হতে হবে এবং প্রতিনিধিত্ব করা বাক্সটি খালি হতে পারে না। একটি খালি ভিউপোর্ট একটি ত্রুটির ফলাফল.

  • উৎপত্তি

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

    অরিজিন প্যারামিটার সেট করতে, FindAutocompletePredictionsRequest অবজেক্ট তৈরি করার সময় setOrigin() পদ্ধতিতে কল করুন।

  • অঞ্চল কোড

    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 ত্রুটি প্রদান করে৷ প্যারামিটার প্রযোজ্য আইনের উপর ভিত্তি করে ফলাফলকে প্রভাবিত করতে পারে।

    অঞ্চল কোড প্যারামিটার সেট করতে, FindAutocompletePredictionsRequest অবজেক্ট তৈরি করার সময় setRegionCode() পদ্ধতিতে কল করুন।

  • সেশন টোকেন

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

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

    সেশন টোকেন প্যারামিটার সেট করতে, FindAutocompletePredictionsRequest অবজেক্ট তৈরি করার সময় setSessionToken() পদ্ধতিতে কল করুন।

    আরও তথ্যের জন্য, সেশন টোকেন দেখুন।

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

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

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

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

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();

LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);

final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Amoeba")
            .setLocationRestriction(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

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

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();

LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);

final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Amoeba")
            .setLocationBias(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

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

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

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

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();

final List<Place.Field> primaryTypes = Arrays.asList("sporting_goods_store");

LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);

final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Soccer")
            .setIncludedPrimaryTypes(primaryTypes)
            .setLocationBias(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

আপনি যদি প্রাথমিক প্রকারের প্যারামিটার বাদ দেন, ফলাফলে এমন একটি ধরনের স্থাপনা অন্তর্ভুক্ত থাকতে পারে যা আপনি নাও চান, যেমন "athletic_field"

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

আপনি যখন অনুরোধে অরিজিন প্যারামিটারটি অন্তর্ভুক্ত করেন, অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক হিসাবে নির্দিষ্ট করা হয়, তখন API প্রতিক্রিয়াতে উত্স থেকে গন্তব্যের সরল-রেখার দূরত্ব অন্তর্ভুক্ত করে ( getDistanceMeters() ব্যবহার করে অ্যাক্সেস করা হয়)। এই উদাহরণটি সান ফ্রান্সিসকোর কেন্দ্রে উত্স সেট করে:

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();

LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);

final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Amoeba")
            .setOrigin(center)
            .setLocationRestriction(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

গুণাবলী

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

,

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

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

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

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

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

আপনার অ্যাপ PlacesClient.findAutocompletePredictions() কল করে, একটি FindAutocompletePredictionsRequest অবজেক্ট পাস করে স্বয়ংসম্পূর্ণ API থেকে পূর্বাভাসিত স্থানের নাম এবং/অথবা ঠিকানাগুলির একটি তালিকা পেতে পারে। নীচের উদাহরণটি PlacesClient.findAutocompletePredictions() এ একটি সম্পূর্ণ কল দেখায়।

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();
LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);
final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Sicilian piz")
            .setRegionCode("ES")
            .setLocationRestriction(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

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

API একটি Task একটি FindAutocompletePredictionsResponse প্রদান করে। FindAutocompletePredictionsResponse তে ভবিষ্যদ্বাণী করা স্থানগুলিকে প্রতিনিধিত্বকারী পাঁচটি পর্যন্ত AutocompletePrediction বস্তুর একটি তালিকা রয়েছে৷ ক্যোয়ারী এবং ফিল্টারের মানদণ্ডের সাথে সম্পর্কিত কোন পরিচিত স্থান না থাকলে তালিকাটি খালি হতে পারে।

প্রতিটি পূর্বাভাসিত স্থানের জন্য, আপনি স্থানের বিবরণ পুনরুদ্ধার করতে নিম্নলিখিত পদ্ধতিতে কল করতে পারেন:

  • getFullText(CharacterStyle) একটি স্থানের বিবরণের সম্পূর্ণ টেক্সট প্রদান করে। এটি প্রাথমিক এবং মাধ্যমিক পাঠ্যের সংমিশ্রণ। উদাহরণ: " আইফেল টাওয়ার, অ্যাভিনিউ আনাতোল ফ্রান্স, প্যারিস, ফ্রান্স "। এছাড়াও, এই পদ্ধতিটি আপনাকে বর্ণনার বিভাগগুলিকে হাইলাইট করতে দেয় যা আপনার পছন্দের শৈলীর সাথে অনুসন্ধানের সাথে মেলে, CharacterStyle ব্যবহার করে। CharacterStyle প্যারামিটার ঐচ্ছিক। আপনি কোনো হাইলাইট করার প্রয়োজন না হলে এটি নাল সেট করুন।
  • getPrimaryText(CharacterStyle) একটি স্থানের বর্ণনা দিয়ে মূল পাঠ্য ফেরত দেয়। এটি সাধারণত জায়গার নাম। উদাহরণ: " আইফেল টাওয়ার ", এবং " 123 পিট স্ট্রিট "।
  • getSecondaryText(CharacterStyle) একটি স্থানের বিবরণের সহায়ক পাঠ্য প্রদান করে। এটি দরকারী, উদাহরণস্বরূপ, স্বয়ংসম্পূর্ণ পূর্বাভাস দেখানোর সময় একটি দ্বিতীয় লাইন হিসাবে। উদাহরণ: " এভিনিউ আনাতোল ফ্রান্স, প্যারিস, ফ্রান্স ", এবং " সিডনি, নিউ সাউথ ওয়েলস "।
  • getPlaceId() পূর্বাভাসিত স্থানের স্থান আইডি প্রদান করে। একটি স্থান আইডি একটি পাঠ্য শনাক্তকারী যা একটি স্থানকে অনন্যভাবে সনাক্ত করে, যা আপনি পরে আবার Place বস্তুটি পুনরুদ্ধার করতে ব্যবহার করতে পারেন। স্বয়ংসম্পূর্ণে স্থান আইডি সম্পর্কে আরও তথ্যের জন্য, স্থানের বিবরণ (নতুন) দেখুন। স্থান আইডি সম্পর্কে সাধারণ তথ্যের জন্য, স্থান আইডি ওভারভিউ দেখুন।
  • getTypes() এই স্থানের সাথে যুক্ত স্থানের প্রকারের তালিকা প্রদান করে।
  • getDistanceMeters() এই স্থান এবং অনুরোধে উল্লিখিত উৎসের মধ্যে মিটারে সরলরেখার দূরত্ব প্রদান করে।

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

  • প্রশ্ন

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

    ক্যোয়ারী প্যারামিটার সেট করতে, FindAutocompletePredictionsRequest অবজেক্ট তৈরি করার সময় setQuery() পদ্ধতিতে কল করুন।

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

  • প্রাথমিক প্রকার

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

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

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

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

    প্রাথমিক প্রকারের প্যারামিটার সেট করতে, FindAutocompletePredictionsRequest অবজেক্ট তৈরি করার সময় setTypesFilter() পদ্ধতিতে কল করুন।

  • দেশগুলো

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

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

    দেশগুলির প্যারামিটার সেট করতে, FindAutocompletePredictionsRequest অবজেক্ট তৈরি করার সময় setCountries() পদ্ধতিতে কল করুন।

  • ইনপুট অফসেট

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

    ইনপুট অফসেট প্যারামিটার সেট করতে, FindAutocompletePredictionsRequest অবজেক্ট তৈরি করার সময় setInputOffset() পদ্ধতিতে কল করুন।

  • অবস্থান পক্ষপাত বা অবস্থান সীমাবদ্ধতা

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

    • অবস্থান পক্ষপাত

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

      অবস্থান পক্ষপাতের প্যারামিটার সেট করতে, FindAutocompletePredictionsRequest অবজেক্ট তৈরি করার সময় setLocationBias() পদ্ধতিতে কল করুন।

    • অবস্থান সীমাবদ্ধতা

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

      অবস্থান সীমাবদ্ধতা প্যারামিটার সেট করতে, FindAutocompletePredictionsRequest অবজেক্ট তৈরি করার সময় setLocationRestriction() পদ্ধতিতে কল করুন।

    একটি আয়তক্ষেত্রাকার ভিউপোর্ট বা একটি বৃত্ত হিসাবে অবস্থান পক্ষপাত বা অবস্থান সীমাবদ্ধতা অঞ্চল নির্দিষ্ট করুন৷

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

    • একটি আয়তক্ষেত্র হল একটি অক্ষাংশ-দ্রাঘিমাংশের ভিউপোর্ট, যা দুটি তির্যকভাবে বিপরীত 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 উভয়ই জনবসতিপূর্ণ হতে হবে এবং প্রতিনিধিত্ব করা বাক্সটি খালি হতে পারে না। একটি খালি ভিউপোর্ট একটি ত্রুটির ফলাফল.

  • উৎপত্তি

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

    অরিজিন প্যারামিটার সেট করতে, FindAutocompletePredictionsRequest অবজেক্ট তৈরি করার সময় setOrigin() পদ্ধতিতে কল করুন।

  • অঞ্চল কোড

    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 ত্রুটি প্রদান করে৷ প্যারামিটার প্রযোজ্য আইনের উপর ভিত্তি করে ফলাফলকে প্রভাবিত করতে পারে।

    অঞ্চল কোড প্যারামিটার সেট করতে, FindAutocompletePredictionsRequest অবজেক্ট তৈরি করার সময় setRegionCode() পদ্ধতিতে কল করুন।

  • সেশন টোকেন

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

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

    সেশন টোকেন প্যারামিটার সেট করতে, FindAutocompletePredictionsRequest অবজেক্ট তৈরি করার সময় setSessionToken() পদ্ধতিতে কল করুন।

    আরও তথ্যের জন্য, সেশন টোকেন দেখুন।

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

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

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

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

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();

LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);

final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Amoeba")
            .setLocationRestriction(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

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

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();

LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);

final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Amoeba")
            .setLocationBias(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

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

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

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

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();

final List<Place.Field> primaryTypes = Arrays.asList("sporting_goods_store");

LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);

final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Soccer")
            .setIncludedPrimaryTypes(primaryTypes)
            .setLocationBias(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

আপনি যদি প্রাথমিক প্রকারের প্যারামিটার বাদ দেন, ফলাফলে এমন একটি ধরনের স্থাপনা অন্তর্ভুক্ত থাকতে পারে যা আপনি নাও চান, যেমন "athletic_field"

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

আপনি যখন অনুরোধে অরিজিন প্যারামিটারটি অন্তর্ভুক্ত করেন, অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক হিসাবে নির্দিষ্ট করা হয়, তখন API প্রতিক্রিয়াতে উত্স থেকে গন্তব্যের সরল-রেখার দূরত্ব অন্তর্ভুক্ত করে ( getDistanceMeters() ব্যবহার করে অ্যাক্সেস করা হয়)। এই উদাহরণটি সান ফ্রান্সিসকোর কেন্দ্রে উত্স সেট করে:

Places.initializeWithNewPlacesApiEnabled(context, apiKey);
final List<Field> placeFields = getPlaceFields();

LatLng center = new LatLng(37.7749, -122.4194);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 5000);

final FindAutocompletePredictionsRequest autocompletePlacesRequest =
    FindAutocompletePredictionsRequest.builder()
            .setQuery("Amoeba")
            .setOrigin(center)
            .setLocationRestriction(circle)
            .build());
placesClient.findAutocompletePredictions(autoCompletePlacesRequest)
    .addOnSuccessListener(
        (response) -> {
            List<AutocompletePrediction> predictions = response.getResult().getAutocompletePredictions();
          }
    ).addOnFailureListener(
        exception -> {
            Log.e(TAG, "some exception happened" + exception.getMessage());
        })
    );

গুণাবলী

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