टेक्स्ट सर्च (नया)

टेक्स्ट सर्च (नया) के लिए टेक्स्ट क्वेरी ली जाती है और मेल खाने वाली जगहों की सूची दिखती है.

टेक्स्ट सर्च (नया) किसी स्ट्रिंग के आधार पर जगहों के सेट के बारे में जानकारी दिखाता है — उदाहरण के लिए, "न्यूयॉर्क में पिज़्ज़ा" या "ओटावा के पास के जूतों के स्टोर" या "123 मेन स्ट्रीट". यह सेवा, टेक्स्ट स्ट्रिंग से मेल खाने वाली जगहों और सेट की गई जगह से जुड़े किसी भी तरह के पूर्वाग्रह के बारे में जवाब देती है. टेक्स्ट से खोजने की सुविधा (नई सुविधा) का इस्तेमाल करके, अलग-अलग टाइप के हिसाब से जगहें खोजी जा सकती हैं. साथ ही, कारोबार के खुले होने का समय और रेटिंग जैसी शर्तों का इस्तेमाल करके, उन्हें फ़िल्टर किया जा सकता है. साथ ही, नतीजों को किसी खास जगह के हिसाब से दिखाया जा सकता है या नतीजों को सीमित किया जा सकता है.

Text Search (नया) का इस्तेमाल करने के लिए, आपको अपने Google Cloud प्रोजेक्ट में "Place API (नया)" चालू करना होगा. ज़्यादा जानकारी के लिए, शुरू करें देखें.

टेक्स्ट क्वेरी से जगहें ढूंढें

किसी टेक्स्ट क्वेरी या फ़ोन नंबर से जगहों की सूची दिखाने के लिए, searchByText पर कॉल करें. अनुरोध की मदद से खोज पैरामीटर तय करें. इसके बाद, searchByText को कॉल करें. नतीजों को Place ऑब्जेक्ट की सूची के तौर पर दिखाया जाता है. इससे आपको जगह की जानकारी मिल सकती है. इस स्निपेट में, searchByText को किए गए कॉल और अनुरोध का उदाहरण दिया गया है:

TypeScript

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);

JavaScript

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 को अनुरोध से हटाया जाता है, तो एपीआई डिफ़ॉल्ट रूप से अमेरिका ('us') क्षेत्र का इस्तेमाल करेगा.

नतीजों को Place ऑब्जेक्ट की सूची के तौर पर दिखाया जाता है. इससे आपको जगह की जानकारी मिल सकती है.

उदाहरण

इस उदाहरण में, searchByText का इस्तेमाल करके, माउंटेन व्यू के आस-पास के टाको रेस्टोरेंट की क्वेरी की गई है. नतीजे दिखाने के लिए, मैप में मार्कर का इस्तेमाल किया गया है.

TypeScript

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();

JavaScript

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>

सैंपल आज़माएं