आस-पास खोज (नया) एक या एक से ज़्यादा समय लेता है जगह के टाइप दिखाता है और उससे मेल खाने वाली जगहों की सूची दिखाता है.
Nearby Search (नई) सुविधा, जगहों के एक सेट के बारे में जानकारी देती है
आपके तय किए गए जगह के टाइप पर — उदाहरण के लिए restaurant
या book_store
या bowling_alley
. सेवा बताई गई जगहों की सूची के साथ जवाब देती है
जगह के टाइप तय किए गए locationRestriction
के दायरे में आते हैं.
Nearby Search (नया) का इस्तेमाल करने के लिए, आपको "Locations API (नया)" चालू करना होगा अपने Google Cloud प्रोजेक्ट. प्रॉडक्ट जोड़ने की प्रोसेस शुरू करना देखें देखें.
आस-पास की जगहें खोजें
खास तरह की जगहों के आधार पर जगहों की सूची लौटाने के लिए searchNearby
पर कॉल करें,
जगह की जानकारी, और दायरा. अनुरोध का इस्तेमाल करके, खोज पैरामीटर तय करें. इसके बाद, searchNearby
को कॉल करें.
नतीजों को Place
ऑब्जेक्ट की सूची के तौर पर दिखाया जाता है. इनसे आपको ये नतीजे मिल सकते हैं
जगह की जानकारी.
नीचे दिया गया स्निपेट, अनुरोध और searchNearby
को किए गए कॉल का उदाहरण दिखाता है:
TypeScript
// Restrict within the map viewport. let center = new google.maps.LatLng(52.369358, 4.889258); const request = { // required parameters fields: ['displayName', 'location', 'businessStatus'], locationRestriction: { center: center, radius: 500, }, // optional parameters includedPrimaryTypes: ['restaurant'], maxResultCount: 5, rankPreference: SearchNearbyRankPreference.POPULARITY, language: 'en-US', region: 'us', }; //@ts-ignore const { places } = await Place.searchNearby(request);
JavaScript
// Restrict within the map viewport. let center = new google.maps.LatLng(52.369358, 4.889258); const request = { // required parameters fields: ["displayName", "location", "businessStatus"], locationRestriction: { center: center, radius: 500, }, // optional parameters includedPrimaryTypes: ["restaurant"], maxResultCount: 5, rankPreference: SearchNearbyRankPreference.POPULARITY, language: "en-US", region: "us", }; //@ts-ignore const { places } = await Place.searchNearby(request);
- कॉमा लगाकर अलग की गई सूची को तय करने के लिए,
fields
पैरामीटर (ज़रूरी है) का इस्तेमाल करें एक या उससे ज़्यादा डेटा फ़ील्ड चुनें. - तक का दायरा बताने के लिए,
locationRestriction
पैरामीटर (ज़रूरी है) का इस्तेमाल करें 50,000 मीटर. - एक या उससे ज़्यादा पैरामीटर तय करने के लिए,
includedPrimaryTypes
पैरामीटर का इस्तेमाल करें खोजने के लिए जगह के टाइप. SearchNearbyRankPreference
तय करने के लिए,rankPreference
पैरामीटर का इस्तेमाल करेंPOPULARITY
याDISTANCE
में से.- पूरा डेटा देखें पैरामीटर की सूची देखें.
उदाहरण
इस उदाहरण में, 500 के दायरे में मौजूद रेस्टोरेंट से क्वेरी करने के लिए searchNearby
का इस्तेमाल किया गया है
केंद्र का मीटर रेडियस. इसके बाद, नतीजे दिखाने के लिए मैप को मार्कर से भर देता है.
TypeScript
let map; async function initMap() { const { Map, InfoWindow } = await google.maps.importLibrary('maps') as google.maps.MapsLibrary; let center = new google.maps.LatLng(52.369358, 4.889258); map = new Map(document.getElementById('map') as HTMLElement, { center: center, zoom: 11, mapId: 'DEMO_MAP_ID', }); nearbySearch(); } async function nearbySearch() { //@ts-ignore const { Place, SearchNearbyRankPreference } = await google.maps.importLibrary('places') as google.maps.PlacesLibrary; const { AdvancedMarkerElement } = await google.maps.importLibrary("marker") as google.maps.MarkerLibrary; // Restrict within the map viewport. let center = new google.maps.LatLng(52.369358, 4.889258); const request = { // required parameters fields: ['displayName', 'location', 'businessStatus'], locationRestriction: { center: center, radius: 500, }, // optional parameters includedPrimaryTypes: ['restaurant'], maxResultCount: 5, rankPreference: SearchNearbyRankPreference.POPULARITY, language: 'en-US', region: 'us', }; //@ts-ignore const { places } = await Place.searchNearby(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; async function initMap() { const { Map, InfoWindow } = await google.maps.importLibrary("maps"); let center = new google.maps.LatLng(52.369358, 4.889258); map = new Map(document.getElementById("map"), { center: center, zoom: 11, mapId: "DEMO_MAP_ID", }); nearbySearch(); } async function nearbySearch() { //@ts-ignore const { Place, SearchNearbyRankPreference } = await google.maps.importLibrary( "places", ); const { AdvancedMarkerElement } = await google.maps.importLibrary("marker"); // Restrict within the map viewport. let center = new google.maps.LatLng(52.369358, 4.889258); const request = { // required parameters fields: ["displayName", "location", "businessStatus"], locationRestriction: { center: center, radius: 500, }, // optional parameters includedPrimaryTypes: ["restaurant"], maxResultCount: 5, rankPreference: SearchNearbyRankPreference.POPULARITY, language: "en-US", region: "us", }; //@ts-ignore const { places } = await Place.searchNearby(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>Nearby 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: "beta"});</script> </body> </html>