পাঠ্য অনুসন্ধান (নতুন)

পাঠ্য অনুসন্ধান (নতুন) একটি পাঠ্য ক্যোয়ারী নেয় এবং মিলিত স্থানগুলির একটি তালিকা প্রদান করে।

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

পাঠ্য অনুসন্ধান (নতুন) ব্যবহার করতে, আপনাকে অবশ্যই আপনার Google ক্লাউড প্রকল্পে "স্থানীয় API (নতুন)" সক্ষম করতে হবে৷ বিস্তারিত জানার জন্য শুরু করুন দেখুন।

টেক্সট ক্যোয়ারী দ্বারা স্থান খুঁজুন

একটি পাঠ্য ক্যোয়ারী বা ফোন নম্বর থেকে স্থানগুলির একটি তালিকা ফেরত দিতে searchByText কল করুন৷ একটি অনুরোধ ব্যবহার করে অনুসন্ধান পরামিতি নির্দিষ্ট করুন, এবং তারপর searchByText কল করুন। ফলাফলগুলি Place অবজেক্টের একটি তালিকা হিসাবে ফেরত দেওয়া হয়, যেখান থেকে আপনি স্থানের বিবরণ পেতে পারেন। নিম্নলিখিত স্নিপেট একটি অনুরোধের একটি উদাহরণ দেখায় এবং searchByText এ কল করুন:

টাইপস্ক্রিপ্ট

const request = {
    textQuery: 'Tacos in Mountain View',
    fields: ['displayName', 'location', 'businessStatus'],
    includedType: 'restaurant',
    locationBias: { lat: 37.4161493, lng: -122.0812166 },
    isOpenNow: true,
    language: 'en-US',
    maxResultCount: 8,
    minRating: 3.2,
    region: 'us',
    useStrictTypeFiltering: false,
};

//@ts-ignore
const { places } = await Place.searchByText(request);

জাভাস্ক্রিপ্ট

const request = {
  textQuery: "Tacos in Mountain View",
  fields: ["displayName", "location", "businessStatus"],
  includedType: "restaurant",
  locationBias: { lat: 37.4161493, lng: -122.0812166 },
  isOpenNow: true,
  language: "en-US",
  maxResultCount: 8,
  minRating: 3.2,
  region: "us",
  useStrictTypeFiltering: false,
};
//@ts-ignore
const { places } = await Place.searchByText(request);
  • textQuery প্যারামিটার দিয়ে অনুসন্ধান করার জন্য একটি পাঠ্য ক্যোয়ারী বা ফোন নম্বর নির্দিষ্ট করুন।
  • উটের ক্ষেত্রে এক বা একাধিক ডেটা ক্ষেত্রের কমা দ্বারা পৃথক করা তালিকা নির্দিষ্ট করতে fields প্যারামিটার (প্রয়োজনীয়) ব্যবহার করুন।
  • শুধুমাত্র নির্দিষ্ট ধরনের ফলাফল ফেরত দিতে includedType প্যারামিটার ব্যবহার করুন।
  • পক্ষপাতের জন্য locationBias বা locationRestriction ব্যবহার করুন বা আপনার পাঠ্য অনুসন্ধানের ফলাফলগুলি একটি নির্দিষ্ট অঞ্চলে সীমাবদ্ধ করুন।
সম্পত্তির সম্পূর্ণ তালিকা দেখুন।

ক্যোয়ারীতে একটি ফোন নম্বর থাকলে, অঞ্চলের প্যারামিটার সেট করা উচিত। উদাহরণস্বরূপ, আপনি যদি জাপানে একটি স্থান অনুসন্ধান করতে একটি ফোন নম্বর ব্যবহার করেন এবং অনুরোধকারী ডোমেনটি হয় jp , তাহলে আপনাকে অবশ্যই region প্যারামিটারটি 'jp'-এ সেট করতে হবে। যদি অনুরোধ থেকে region বাদ দেওয়া হয়, তবে API ডিফল্ট হবে মার্কিন যুক্তরাষ্ট্র ('us') অঞ্চলে।

ফলাফলগুলি Place অবজেক্টের একটি তালিকা হিসাবে ফেরত দেওয়া হয়, যেখান থেকে আপনি স্থানের বিবরণ পেতে পারেন।

উদাহরণ

নিম্নলিখিত উদাহরণ মাউন্টেন ভিউ আশেপাশের টাকো রেস্তোরাঁগুলির জন্য অনুসন্ধান করতে searchByText ব্যবহার করে এবং ফলাফলগুলি দেখানোর জন্য মার্কার সহ একটি মানচিত্র তৈরি করে৷

টাইপস্ক্রিপ্ট

let map;
let center;

async function initMap() {
    const { Map } = await google.maps.importLibrary("maps") as google.maps.MapsLibrary;

    center = { lat: 37.4161493, lng: -122.0812166 };
    map = new Map(document.getElementById('map') as HTMLElement, {
        center: center,
        zoom: 11,
        mapId: 'DEMO_MAP_ID',
    });

    findPlaces();
}

async function findPlaces() {
    const { Place } = await google.maps.importLibrary("places") as google.maps.PlacesLibrary;
    const { AdvancedMarkerElement } = await google.maps.importLibrary("marker") as google.maps.MarkerLibrary;
    const request = {
        textQuery: 'Tacos in Mountain View',
        fields: ['displayName', 'location', 'businessStatus'],
        includedType: 'restaurant',
        locationBias: { lat: 37.4161493, lng: -122.0812166 },
        isOpenNow: true,
        language: 'en-US',
        maxResultCount: 8,
        minRating: 3.2,
        region: 'us',
        useStrictTypeFiltering: false,
    };

    //@ts-ignore
    const { places } = await Place.searchByText(request);

    if (places.length) {
        console.log(places);

        const { LatLngBounds } = await google.maps.importLibrary("core") as google.maps.CoreLibrary;
        const bounds = new LatLngBounds();

        // Loop through and get all the results.
        places.forEach((place) => {
            const markerView = new AdvancedMarkerElement({
                map,
                position: place.location,
                title: place.displayName,
            });

            bounds.extend(place.location as google.maps.LatLng);
            console.log(place);
        });

        map.fitBounds(bounds);

    } else {
        console.log('No results');
    }
}

initMap();

জাভাস্ক্রিপ্ট

let map;
let center;

async function initMap() {
  const { Map } = await google.maps.importLibrary("maps");

  center = { lat: 37.4161493, lng: -122.0812166 };
  map = new Map(document.getElementById("map"), {
    center: center,
    zoom: 11,
    mapId: "DEMO_MAP_ID",
  });
  findPlaces();
}

async function findPlaces() {
  const { Place } = await google.maps.importLibrary("places");
  const { AdvancedMarkerElement } = await google.maps.importLibrary("marker");
  const request = {
    textQuery: "Tacos in Mountain View",
    fields: ["displayName", "location", "businessStatus"],
    includedType: "restaurant",
    locationBias: { lat: 37.4161493, lng: -122.0812166 },
    isOpenNow: true,
    language: "en-US",
    maxResultCount: 8,
    minRating: 3.2,
    region: "us",
    useStrictTypeFiltering: false,
  };
  //@ts-ignore
  const { places } = await Place.searchByText(request);

  if (places.length) {
    console.log(places);

    const { LatLngBounds } = await google.maps.importLibrary("core");
    const bounds = new LatLngBounds();

    // Loop through and get all the results.
    places.forEach((place) => {
      const markerView = new AdvancedMarkerElement({
        map,
        position: place.location,
        title: place.displayName,
      });

      bounds.extend(place.location);
      console.log(place);
    });
    map.fitBounds(bounds);
  } else {
    console.log("No results");
  }
}

initMap();

সিএসএস

/* 
 * Always set the map height explicitly to define the size of the div element
 * that contains the map. 
 */
#map {
  height: 100%;
}

/* 
 * Optional: Makes the sample page fill the window. 
 */
html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}

এইচটিএমএল

<html>
  <head>
    <title>Text Search</title>
    <script src="https://polyfill.io/v3/polyfill.min.js?features=default"></script>

    <link rel="stylesheet" type="text/css" href="./style.css" />
    <script type="module" src="./index.js"></script>
  </head>
  <body>
    <div id="map"></div>

    <!-- prettier-ignore -->
    <script>(g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})
        ({key: "AIzaSyB41DRUbKWJHPxaFjMAwdrzWzbVKartNGg", v: "weekly"});</script>
  </body>
</html>

নমুনা চেষ্টা করুন