टेक्स्ट सर्च (नया) एक टेक्स्ट क्वेरी लेता है और मिलते-जुलते नतीजों की सूची दिखाता है जगहें.
टेक्स्ट सर्च (नई सुविधा) से, नतीजों के सेट के बारे में जानकारी मिलती है किसी स्ट्रिंग के आधार पर जगहें — उदाहरण के लिए "न्यूयॉर्क में पिज़्ज़ा" या "ओटावा के आस-पास के जूतों की दुकान" या "123 मेन स्ट्रीट". सेवा, टेक्स्ट स्ट्रिंग या किसी सेट किया गया स्थान पूर्वाग्रह. टेक्स्ट से खोजें (नई सुविधा) का इस्तेमाल करके टाइप के आधार पर जगहें, कारोबार के खुले होने का समय और रेटिंग जैसी शर्तों के हिसाब से फ़िल्टर करें. साथ ही, किसी खास जगह के बारे में खोज नतीजे दिखाता है.
टेक्स्ट खोज (नया) का इस्तेमाल करने के लिए, आपको " places API (नया)" को चालू करना होगा अपने Google Cloud प्रोजेक्ट. प्रॉडक्ट जोड़ने की प्रोसेस शुरू करना देखें देखें.
टेक्स्ट क्वेरी की मदद से जगहें ढूंढें
टेक्स्ट क्वेरी या फ़ोन नंबर से जगहों की सूची लौटाने के लिए 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> <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>