जगहें लाइब्रेरी

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.
प्लैटफ़ॉर्म चुनें: Android iOS JavaScript वेब सेवा

खास जानकारी

Maps लाइब्रेरी एपीआई, जगहें लाइब्रेरी में मौजूद फ़ंक्शन की मदद से, आपके ऐप्लिकेशन को उन जगहों को खोजने में मदद करता है जिन्हें इस इलाके में, जगहों, जैसे कि जगहों, भौगोलिक जगहों या खास जगहों के लिए बनाया गया है. जैसे: मैप की सीमाएं या किसी तय जगह के आस-पास.

Places API एक ऑटोकंप्लीट सुविधा देता है. इसका इस्तेमाल करके, ऐप्लिकेशन को Google Maps के खोज फ़ील्ड में पहले से खोजने की सुविधा का टाइप दिया जा सकता है. जब कोई उपयोगकर्ता पता टाइप करना शुरू करता है, तो बाकी जानकारी अपने-आप भर जाती है. ज़्यादा जानकारी के लिए, अपने-आप पूरा होने वाला दस्तावेज़ देखें.

शुरुआत करना

अगर आपको 'Maps JavaScript एपीआई' या JavaScript की जानकारी नहीं है, तो हमारा सुझाव है कि आप JavaScript की समीक्षा करें और शुरुआत करने से पहले एपीआई कुंजी पाएं.

एपीआई चालू करें

Maps JavaScript API में Places लाइब्रेरी का इस्तेमाल करने से पहले, यह पक्का करें कि Google Cloud Console में उसी प्रोजेक्ट में Places एपीआई चालू है जिसे आपने Maps JavaScript API के लिए सेट अप किया है.

चालू किए गए एपीआई की सूची देखने के लिए:

  1. Google Cloud Console पर जाएं.
  2. प्रोजेक्ट चुनें बटन पर क्लिक करें. इसके बाद, वही प्रोजेक्ट चुनें जिसे Maps JavaScript एपीआई के लिए सेट अप किया गया हो और खोलें पर क्लिक करें.
  3. डैशबोर्ड पर एपीआई की सूची से, जगहों का एपीआई खोजें.
  4. अगर आपको सूची में Places API दिखता है, तो इसका मतलब है कि वह पहले से चालू है. अगर एपीआई सूची में नहीं है, तो इसे चालू करें:
    1. पेज पर सबसे ऊपर, लाइब्रेरी टैब दिखाने के लिए, एपीआई और सेवाएं चालू करें को चुनें. इसके अलावा, बाईं ओर दिए गए मेन्यू से, लाइब्रेरी चुनें.
    2. जगह API खोजें, फिर नतीजों की सूची से उसे चुनें.
    3. चालू करें को चुनें. प्रोसेस पूरी होने के बाद, डैशबोर्ड पर एपीआई की सूची में जगह की जानकारी वाला एपीआई दिखता है.

लाइब्रेरी लोड हो रही है

Places सेवा, एक मुख्य लाइब्रेरी है जो मुख्य Maps JavaScript API कोड से अलग है. इस लाइब्रेरी में मौजूद फ़ंक्शन का इस्तेमाल करने के लिए, आपको पहले इसे मैप एपीआई बूटस्ट्रैप यूआरएल में libraries पैरामीटर का इस्तेमाल करके लोड करना होगा:

<script async
    src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places&callback=initMap">
</script>

ज़्यादा जानकारी के लिए, लाइब्रेरी की खास जानकारी देखें.

जगहों के एपीआई को एपीआई कुंजी की एपीआई से जुड़ी पाबंदियों की सूची में जोड़ें

अपनी कुंजियों पर एपीआई से जुड़ी पाबंदियां लागू करने से, एक या इससे ज़्यादा एपीआई या SDK टूल पर एपीआई कुंजी के इस्तेमाल को सीमित किया जा सकता है. एपीआई कुंजी से जुड़े एपीआई या SDK टूल के लिए अनुरोध को प्रोसेस किया जाएगा. ऐसे एपीआई या SDK टूल से जुड़े अनुरोध अस्वीकार हो जाएंगे जो एपीआई कुंजी से नहीं जुड़े हैं. 'जगहें' लाइब्रेरी, Maps JavaScript API के साथ इस्तेमाल की जाने वाली एपीआई कुंजी पर पाबंदी लगाने के लिए:
  1. Google Cloud Console पर जाएं.
  2. प्रोजेक्ट ड्रॉप-डाउन पर क्लिक करें और वह प्रोजेक्ट चुनें जिसमें एपीआई कुंजी को सुरक्षित करना है.
  3. मेन्यू बटन पर क्लिक करें और Google Maps Platform > क्रेडेंशियल चुनें.
  4. क्रेडेंशियल पेज पर, उस एपीआई कुंजी के नाम पर क्लिक करें जिसे आप सुरक्षित करना चाहते हैं.
  5. एपीआई कुंजी को प्रतिबंधित करें और उसका नाम बदलें पेज पर, पाबंदियां सेट करें:
    • एपीआई से जुड़ी पाबंदियां
      • कुंजी को पाबंदी लगाएं चुनें.
      • एपीआई चुनें पर क्लिक करें. इसके बाद, Maps JavaScript एपीआई और जगहों का एपीआई, दोनों चुनें.
        (अगर इनमें से कोई भी एपीआई सूची में शामिल नहीं है, तो आपको इसे चालू करना होगा.)
  6. सेव करें पर क्लिक करें.

इस्तेमाल करने की सीमा और नीतियां

कोटा

प्लेस लाइब्रेरी

नीतियां

Places लाइब्रेरी का इस्तेमाल करना, Maps JavaScript API को जगहों के एपीआई के लिए बताई गई नीतियों के मुताबिक होना चाहिए.

जगह खोजें

स् थान सेवा से आप इस प्रकार की खोजें कर सकते हैं:

वापस मिली जानकारी में कई रेस्टोरेंट, जैसे कि रेस्टोरेंट, स्टोर, और ऑफ़िस जैसी जगहें शामिल हो सकती हैं. साथ ही, इनमें 'जगह की जानकारी' से जुड़े ऐसे नतीजे भी शामिल हो सकते हैं जो शहरों के पते, शहरों, और शहरों के साथ-साथ अन्य राजनैतिक जगहों को दिखाते हैं.

जगह की जानकारी के अनुरोध देखना

जगह खोजने के अनुरोध की मदद से, टेक्स्ट क्वेरी या फ़ोन नंबर का इस्तेमाल करके कोई जगह खोजी जा सकती है. जगह खोजने के अनुरोध दो तरह के होते हैं:

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

जगह की जानकारी से जुड़ी क्वेरी, टेक्स्ट इनपुट में सेव होती है और जगह की जानकारी देती है. इनपुट किसी भी तरह का स्थान डेटा हो सकता है, उदाहरण के लिए, किसी व्यवसाय का नाम या पता. क्वेरी का इस्तेमाल करके जगह खोजने के लिए, PlacesService के findPlaceFromQuery() तरीके को कॉल करें. इसके लिए ये पैरामीटर इस्तेमाल करें:

  • query (ज़रूरी है) वह टेक्स्ट स्ट्रिंग जिस पर खोज करनी है. उदाहरण के लिए: "रेस्टोरेंट" या "123 मेन स्ट्रीट". यह किसी जगह का नाम, पता या कारोबार की कैटगरी होनी चाहिए. किसी भी दूसरी तरह के इनपुट से गड़बड़ियां हो सकती हैं और गारंटी के साथ मान्य नतीजे नहीं मिलते. जगहों का एपीआई, इस स्ट्रिंग के आधार पर उम्मीदवारों के मिलान दिखाएगा. साथ ही, नतीजों को उनके काम के होने के आधार पर व्यवस्थित करेगा.
  • fields (ज़रूरी है) आप एक या एक से ज़्यादा फ़ील्ड दिखा सकते हैं, ताकि आप 'जगह की जानकारी' के टाइप के बारे में बता सकें.
  • locationBias (ज़रूरी नहीं) खोजने के लिए जगह तय करने वाले कोऑर्डिनेट. इनमें से कोई एक आइटम हो सकता है:
    • LatLngLiteral या LatLng ऑब्जेक्ट के तौर पर बताए गए अक्षांश/देशांतर के निर्देशांक का सेट
    • रेक्टैंगल फ़ॉर्मैट की सीमाएं (दो अक्षांश/देशांतर की जोड़ी) या लाटलांगबाउंड ऑब्जेक्ट
    • अक्षांश/देशांतर पर केंद्रित त्रिज्या (मीटर में)

आपको 'नतीजे' ऑब्जेक्ट और google.maps.places.PlacesServiceStatus रिस्पॉन्स को हैंडल करने के लिए, findPlaceFromQuery() का कॉलबैक तरीका भी पास करना होगा.

नीचे दिए गए उदाहरण में, findPlaceFromQuery() को कॉल करने का तरीका दिखाया गया है. साथ ही, "म्यूज़ियम ऑफ़ कंटेंपररी आर्ट ऑस्ट्रेलिया" और name और geometry फ़ील्ड को खोजा जा रहा है.

var map;
var service;
var infowindow;

function initMap() {
  var sydney = new google.maps.LatLng(-33.867, 151.195);

  infowindow = new google.maps.InfoWindow();

  map = new google.maps.Map(
      document.getElementById('map'), {center: sydney, zoom: 15});

  var request = {
    query: 'Museum of Contemporary Art Australia',
    fields: ['name', 'geometry'],
  };

  var service = new google.maps.places.PlacesService(map);

  service.findPlaceFromQuery(request, function(results, status) {
    if (status === google.maps.places.PlacesServiceStatus.OK) {
      for (var i = 0; i < results.length; i++) {
        createMarker(results[i]);
      }
      map.setCenter(results[0].geometry.location);
    }
  });
}
उदाहरण देखें

फ़ोन नंबर का इस्तेमाल करके जगह खोजना

फ़ोन नंबर से जगह ढूंढने पर फ़ोन नंबर मिलता है और जगह की जानकारी मिलती है. फ़ोन नंबर से पता लगाने की सुविधा का इस्तेमाल करने के लिए, PlacesService के findPlaceFromPhoneNumber() तरीके का इस्तेमाल करें. इसमें नीचे दिए गए पैरामीटर दिए गए हैं:

  • phoneNumber (ज़रूरी है) E.164 फ़ॉर्मैट में फ़ोन नंबर.
  • fields (ज़रूरी है) आप एक या एक से ज़्यादा फ़ील्ड दिखा सकते हैं, ताकि आप 'जगह की जानकारी' के टाइप के बारे में बता सकें.
  • locationBias (ज़रूरी नहीं) खोजने के लिए जगह तय करने वाले निर्देशांक. यह इनमें से कोई एक हो सकता है:
    • LatLngLiteral या LatLng ऑब्जेक्ट के तौर पर बताए गए अक्षांश/देशांतर के निर्देशांक का सेट
    • आयताकार सीमाएं (चार अक्षांश/देशांतर बिंदु या LatLngBounds ऑब्जेक्ट)
    • अक्षांश/देशांतर पर केंद्रित त्रिज्या (मीटर में)

आपको 'नतीजे' ऑब्जेक्ट और google.maps.places.PlacesServiceStatus रिस्पॉन्स को हैंडल करने के लिए, findPlaceFromPhoneNumber() का कॉलबैक तरीका भी पास करना होगा.

फ़ील्ड (जगहों के तरीके ढूंढें)

जगह वाले डेटा टाइप की कैटगरी तय करने के लिए, fields पैरामीटर का इस्तेमाल करें. उदाहरण के लिए: fields: ['formatted_address', 'opening_hours', 'geometry']. कंपाउंड वैल्यू तय करते समय, बिंदु का इस्तेमाल करें. उदाहरण के लिए: opening_hours.weekday_text.

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

बुनियादी

बुनियादी कैटगरी में ये फ़ील्ड शामिल होते हैं:
business_status, formatted_address, geometry, icon,icon_mask_base_uri, icon_background_color, name, permanently_closed (अब इस्तेमाल में नहीं है), photos, place_id, plus_code, types

संपर्क की जानकारी

संपर्क कैटगरी में ये फ़ील्ड शामिल हैं: opening_hours
(जगह से जुड़ी जानकारी जगह की जानकारी वाली लाइब्रेरी में, Maps JavaScript एपीआई. opening_hours के नतीजे पाने के लिए, जगह की जानकारी का अनुरोध करें.

माहौल

माहौल में ये फ़ील्ड शामिल हैं: price_level, rating, user_ratings_total

findPlaceFromQuery() और findPlaceFromPhoneNumber() तरीकों में से हर एक फ़ील्ड का एक जैसा सेट लेता है और एक ही फ़ील्ड को अपने-अपने जवाब में दिखा सकता है.

जगह का मापदंड तय करें (जगह खोजें)

किसी खास इलाके में जगह खोजने के पक्ष में नतीजे देने के लिए locationBias पैरामीटर का इस्तेमाल करें. locationBias को इन तरीकों से सेट किया जा सकता है:

किसी खास इलाके के हिसाब से भेदभाव करने वाले नतीजे:

locationBias: {lat: 37.402105, lng: -122.081974}

खोजने के लिए आयताकार इलाका तय करें:

locationBias: {north: 37.41, south: 37.40, east: -122.08, west: -122.09}

आप LatLngBounds का इस्तेमाल भी कर सकते हैं.

किसी खास इलाके के बीचों-बीच खोजने के लिए दायरा (मीटर में) बताएं:

locationBias: {radius: 100, center: {lat: 37.402105, lng: -122.081974}}

आस-पास के खोज अनुरोध

आस-पास की खोज की मदद से, कीवर्ड या टाइप के हिसाब से, किसी खास इलाके में जगहें खोजी जा सकती हैं. आस-पास के खोज नतीजे में हमेशा जगह की जानकारी शामिल होनी चाहिए. इसे इन दो में से किसी एक तरीके से तय किया जा सकता है:

  • LatLngBounds.
  • एक गोलाकार जगह, जिसे location प्रॉपर्टी के कॉम्बिनेशन के तौर पर परिभाषित किया जाता है. सर्कल के बीच में, LatLng ऑब्जेक्ट — और एक खास दायरे को मीटर में मापा जाता है.

आस-पास के कारोबारों के लिए खोज शुरू करने के लिए, PlacesService के nearbySearch() तरीके को कॉल किया जाता है. इससे PlaceResult ऑब्जेक्ट की कैटगरी दिखेगी. ध्यान दें कि nearbySearch() तरीके में, search() तरीके को वर्शन 3.9 से बदल दिया जाता है.

service = new google.maps.places.PlacesService(map);
service.nearbySearch(request, callback);

इस तरीके से इन फ़ील्ड के लिए अनुरोध किया जाता है:

  • इनमें से कोई एक:
    • bounds, एक google.maps.LatLngBounds ऑब्जेक्ट होना चाहिए, जो आयताकार खोज एरिया की जानकारी देता हो; या
    • एक location और एक radius; पहले वाली वैल्यू एक google.maps.LatLng ऑब्जेक्ट लेती है और बाद वाला एक सामान्य पूर्णांक लेता है, जो सर्कल के दायरे को मीटर में दिखाता है. ज़्यादा से ज़्यादा 50,000 मीटर की अनुमति है. ध्यान दें कि जब rankBy, DISTANCE पर सेट हो, तो आपको एक location बताना होगा. हालांकि, आप radius या bounds नहीं बता सकते.
  • keyword (ज़रूरी नहीं) — ऐसा शब्द जो सभी उपलब्ध फ़ील्ड से मेल खाता हो, जिसमें नाम, टाइप, और पता शामिल हो. साथ ही, ग्राहक की समीक्षाएं और तीसरे पक्ष का कॉन्टेंट भी शामिल हो सकता है.
  • minPriceLevel और maxPriceLevel (ज़रूरी नहीं) — नतीजों को सिर्फ़ बताई गई सीमा में उन जगहों तक सीमित करता है. मान्य वैल्यू 0 (सबसे किफ़ायती) से लेकर 4 (सबसे ज़्यादा महंगी) के बीच होती हैं.
  • name के इस्तेमाल पर रोक लगा दी गई है. keyword के बराबर. इस फ़ील्ड में मौजूद वैल्यू को keyword फ़ील्ड में मौजूद वैल्यू के साथ जोड़ा जाता है. साथ ही, इन्हें एक ही खोज स्ट्रिंग के हिस्से के तौर पर पास किया जाता है.
  • openNow (ज़रूरी नहीं) — बूलियन वैल्यू, जिससे पता चलता है कि जगह की जानकारी वाली सेवा को सिर्फ़ वे जगहें डालनी चाहिए जो क्वेरी के समय भेजी गई हैं. अगर आपने क्वेरी में यह पैरामीटर शामिल किया है, तो Google Places डेटाबेस में खुलने का समय तय नहीं करने वाली जगहें नहीं दिखाई जाएंगी. openNow को false पर सेट करने से कोई असर नहीं पड़ेगा.
  • rankBy (ज़रूरी नहीं) — इससे नतीजों का क्रम तय होता है. ये वैल्यू हो सकती हैं:
    • google.maps.places.RankBy.PROMINENCE (डिफ़ॉल्ट). यह विकल्प, नतीजों को उनकी अहमियत के आधार पर क्रम में लगाता है. रैंकिंग, आस-पास की उन जगहों के मुकाबले तय की गई जगहों के आस-पास की जगहों को प्राथमिकता देगी जो मैच होती हैं, लेकिन वे कम प्रमुखता से दिखती हैं. प्रमुखता, Google के इंडेक्स में किसी जगह की रैंकिंग, वैश्विक लोकप्रियता, और दूसरी वजहों से प्रभावित हो सकती है. जब google.maps.places.RankBy.PROMINENCE के बारे में बताया गया हो, तो radius पैरामीटर की ज़रूरत होती है.
    • google.maps.places.RankBy.DISTANCE. यह विकल्प दिए गए location (ज़रूरी) से उनकी दूरी के मुताबिक, बढ़ते क्रम में नतीजे दिखाता है. ध्यान दें कि अगर आप RankBy.DISTANCE को तय करते हैं, तो आप कस्टम bounds और/या radius नहीं बता सकते. जब आप RankBy.DISTANCE बताते हैं, तो एक या ज़्यादा keyword, name या type की ज़रूरत होती है.
  • type — खोज के नतीजों में, बताई गई जगह से मेल खाने वाली जगहों तक ही सीमित होता है. सिर्फ़ एक प्रकार दिया जा सकता है (अगर एक से ज़्यादा प्रकार दिए गए हैं, तो पहली एंट्री के बाद सभी तरह के इवेंट को अनदेखा किया जाता है). इस्तेमाल किए जा सकने वाले टाइप की सूची देखें.

आपको नतीजे वाले ऑब्जेक्ट को मैनेज करने और google.maps.places.PlacesServiceStatus जवाब देने के लिए, nearbySearch() में कॉलबैक का तरीका भी पास करना होगा.

var map;
var service;
var infowindow;

function initialize() {
  var pyrmont = new google.maps.LatLng(-33.8665433,151.1956316);

  map = new google.maps.Map(document.getElementById('map'), {
      center: pyrmont,
      zoom: 15
    });

  var request = {
    location: pyrmont,
    radius: '500',
    type: ['restaurant']
  };

  service = new google.maps.places.PlacesService(map);
  service.nearbySearch(request, callback);
}

function callback(results, status) {
  if (status == google.maps.places.PlacesServiceStatus.OK) {
    for (var i = 0; i < results.length; i++) {
      createMarker(results[i]);
    }
  }
}

उदाहरण देखें

टेक्स्ट से खोज के अनुरोध

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

टेक्स्ट खोजने की प्रोसेस, PlacesService के textSearch() तरीके को कॉल करके शुरू की जाती है.

service = new google.maps.places.PlacesService(map);
service.textSearch(request, callback);

इस तरीके से इन फ़ील्ड के लिए अनुरोध किया जाता है:

  • query (ज़रूरी है) वह टेक्स्ट स्ट्रिंग जिस पर खोज की जाती है. उदाहरण के लिए: "रेस्टोरेंट" या "123 मुख्य सड़क". यह किसी जगह का नाम, पता या कारोबार की कैटगरी होनी चाहिए. किसी भी दूसरी तरह के इनपुट से गड़बड़ियां हो सकती हैं और गारंटी के साथ मान्य नतीजे नहीं मिलते. इस स्ट्रिंग के आधार पर, 'जगहें' सेवा, उम्मीदवारों के मैच की जानकारी दिखाएगी और उनके काम के होने पर, नतीजों का क्रम तय करेगी. अगर खोज पैरामीटर में type पैरामीटर का इस्तेमाल किया जाता है, तो यह पैरामीटर इस्तेमाल करना ज़रूरी नहीं है.
  • ज़रूरी नहीं:
    • openNow — यह एक बूलियन वैल्यू है, जिससे पता चलता है कि जगह की जानकारी वाली सेवा को सिर्फ़ वे जगहें डालनी चाहिए जो क्वेरी के समय भेजी गई हों. अगर आपने क्वेरी में यह पैरामीटर शामिल किया है, तो Google Places डेटाबेस में खुलने का समय तय नहीं करने वाली जगहें नहीं दिखाई जाएंगी. openNow को false पर सेट करने से कोई असर नहीं पड़ेगा.
    • minPriceLevel और maxPriceLevel — नतीजों को सिर्फ़ उन जगहों तक सीमित करता है जो कीमतें तय की गई हैं. दी गई मान्य वैल्यू 0 (सबसे किफ़ायती) से लेकर 4 (सबसे ज़्यादा महंगी) तक की रेंज में हैं.
    • इनमें से कोई एक:
      • bounds — एक google.maps.LatLngBounds ऑब्जेक्ट, जिसमें उस आयत का पता लगाया जाता है जिसमें आप खोज करना चाहते हैं; या
      • location और radius — आप location और radius पैरामीटर को पास करके, किसी खास सर्कल के लिए मापदंड से बाहर के नतीजे देख सकते हैं. यह Local Services को उस सर्कल में ही नतीजे दिखाने का निर्देश देगा. तय जगह से बाहर के नतीजे अब भी दिखाए जा सकते हैं. जगह के बारे में बताने के लिए, google.maps.LatLng ऑब्जेक्ट लिया जाता है. साथ ही, रेडियस एक सादा पूर्णांक लेता है. यह सर्कल के दायरे को मीटर में बताता है. ज़्यादा से ज़्यादा 50,000 मीटर की अनुमति है.
    • type — नतीजों को सिर्फ़ बताई गई जगह से मेल खाने वाले नतीजों तक सीमित करता है. सिर्फ़ एक प्रकार दिया जा सकता है (अगर एक से ज़्यादा प्रकार दिए गए हैं, तो पहली एंट्री के बाद सभी टाइप को अनदेखा कर दिया जाता है). इस्तेमाल किए जा सकने वाले टाइप की सूची देखें.

आपको नतीजे वाले ऑब्जेक्ट को मैनेज करने और google.maps.places.PlacesServiceStatus जवाब देने के लिए, textSearch() में कॉलबैक का तरीका भी पास करना होगा.

var map;
var service;
var infowindow;

function initialize() {
  var pyrmont = new google.maps.LatLng(-33.8665433,151.1956316);

  map = new google.maps.Map(document.getElementById('map'), {
      center: pyrmont,
      zoom: 15
    });

  var request = {
    location: pyrmont,
    radius: '500',
    query: 'restaurant'
  };

  service = new google.maps.places.PlacesService(map);
  service.textSearch(request, callback);
}

function callback(results, status) {
  if (status == google.maps.places.PlacesServiceStatus.OK) {
    for (var i = 0; i < results.length; i++) {
      var place = results[i];
      createMarker(results[i]);
    }
  }
}

जवाब खोजें

स्थिति कोड

PlacesServiceStatus रिस्पॉन्स ऑब्जेक्ट में अनुरोध की स्थिति होती है. साथ ही, इसमें डीबग करने की जानकारी हो सकती है, ताकि आप यह पता कर सकें कि जगह की जानकारी का अनुरोध क्यों नहीं किया जा सका. स्थिति की वैल्यू ये हो सकती हैं:

  • INVALID_REQUEST: यह अनुरोध गलत था.
  • OK: जवाब में एक मान्य नतीजा शामिल है.
  • OVER_QUERY_LIMIT: वेबपेज अपने अनुरोध कोटा से ज़्यादा हो गया है.
  • REQUEST_DENIED: वेबपेज को Places सेवा का इस्तेमाल करने की अनुमति नहीं है.
  • UNKNOWN_ERROR: Places सेवा अनुरोध को किसी सर्वर गड़बड़ी के कारण संसाधित नहीं किया जा सका. आपके दोबारा कोशिश करने पर, हो सकता है कि अनुरोध पूरा हो जाए.
  • ZERO_RESULTS: इस अनुरोध के लिए कोई नतीजा नहीं मिला.

जगह के खोज के नतीजे

findPlace(), nearbySearch(), और textSearch() फ़ंक्शन, PlaceResult ऑब्जेक्ट की कैटगरी दिखाते हैं.

हर PlaceResult ऑब्जेक्ट में ये प्रॉपर्टी शामिल हो सकती हैं:

  • अगर कोई कारोबार है, तो business_status से उसकी जगह की जानकारी मिलती है. इसमें इनमें से कोई एक वैल्यू हो सकती है:
    • OPERATIONAL
    • CLOSED_TEMPORARILY
    • CLOSED_PERMANENTLY
    अगर कोई डेटा मौजूद नहीं है, तो business_status नहीं दिखेगा.
  • formatted_address एक ऐसी स्ट्रिंग है जिसमें इस जगह का पता और इंसान पढ़ने का पता लगाते हैं. formatted_address प्रॉपर्टी सिर्फ़ टेक्स्ट सर्च के लिए दिखती है.

    अक्सर यह पता डाक पते के बराबर होता है. ध्यान दें कि यूनाइटेड किंगडम जैसे कुछ देश, लाइसेंस से जुड़ी पाबंदियों की वजह से, डाक के पते भी डिलीवर करने की अनुमति नहीं देते हैं.

    फ़ॉर्मैट किया गया पता, एक या एक से ज़्यादा पते के कॉम्पोनेंट से बना होता है. उदाहरण के लिए, पते "111 8th Avenue, New York, NY" में ये कॉम्पोनेंट शामिल होते हैं: "111" (सड़क का नंबर), "8th Avenue" (रास्ते), "न्यूयॉर्क" (शहर) और "NY" (अमेरिका का राज्य).

    फ़ॉर्मैट किए गए पते को प्रोग्राम के तौर पर पार्स न करें. इसके बजाय, आपको अलग-अलग पते वाले कॉम्पोनेंट का इस्तेमाल करना चाहिए. इसमें, एपीआई के जवाब में, फ़ॉर्मैट किए गए पते वाले फ़ील्ड के अलावा, कॉम्पोनेंट भी शामिल होते हैं.

  • geometry: जगह की ज्यामिति से जुड़ी जानकारी. इसमें ये शामिल हैं:
    • location, जगह के अक्षांश और देशांतर की जानकारी देता है.
    • इस जगह को देखते समय, viewport मैप पर पसंदीदा व्यूपोर्ट के बारे में बताता है.
  • permanently_closed (अब इस्तेमाल में नहीं है) एक बूलियन फ़्लैग है. इससे पता चलता है कि जगह हमेशा के लिए बंद हो गई है या कुछ समय के लिए (वैल्यू true) बंद हो गई है. permanently_closed का इस्तेमाल न करें. इसके बजाय, कारोबार की स्थिति जानने के लिए business_status का इस्तेमाल करें.
  • plus_code (ओपन लोकेशन कोड और प्लस कोड) कोड में बदली गई जगह का रेफ़रंस है. इसका अक्षांश और देशांतर में से 1 से 1000 का आपका ब्यौरा है. Plus Code का इस्तेमाल उन जगहों के मोहल्ले के पतों की जगह किया जा सकता है जहां वे मौजूद नहीं हैं (जहां इमारतों को नंबर नहीं दिया जाता या सड़कों को नाम नहीं दिया जाता).

    प्लस कोड को ग्लोबल कोड और कंपाउंड कोड के तौर पर फ़ॉर्मैट किया जाता है:

    • global_code एक 4 वर्ण का क्षेत्र कोड और 6 वर्ण या इससे ज़्यादा स्थानीय कोड (849VCWC8+R9) है.
    • compound_code एक छह वर्णों या उससे ज़्यादा का स्थानीय कोड है, जिसमें साफ़ तौर पर जगह बताई गई है (CWC8+R9, Mountain View, CA, USA). इस कॉन्टेंट को प्रोग्राम के तौर पर पार्स न करें.
    आम तौर पर, ग्लोबल कोड और कंपाउंड कोड, दोनों दिखते हैं. हालांकि, अगर नतीजा किसी दूसरी जगह (उदाहरण के लिए, समुद्र या रेगिस्तान) में आता है, तो सिर्फ़ ग्लोबल कोड दिखाया जा सकता है.
  • html_attributions: एट्रिब्यूशन की कैटगरी जिसे आपको खोज के नतीजे दिखाते समय दिखाना चाहिए. कलेक्शन की हर एंट्री में, एक एट्रिब्यूशन के लिए एचटीएमएल टेक्स्ट होता है. ध्यान दें: यह कुल सर्च के सभी एट्रिब्यूशन का एक साथ इकट्ठा होता है. रिस्पॉन्स के तौर पर मिलने वाले सभी PlaceResult ऑब्जेक्ट में, एक जैसी एट्रिब्यूशन सूचियां होती हैं.
  • icon, रंगीन 71 पिक्सल x 71 पिक्सल PNG आइकॉन के लिए यूआरएल दिखाता है.
  • icon_mask_base_uri, बेस यूआरएल को बिना रंग वाले आइकॉन के साथ दिखाता है. ऐसा .svg या .png एक्सटेंशन को घटाकर किया जाता है.
  • icon_background_color, जगह की कैटगरी के लिए डिफ़ॉल्ट HEX कलर कोड दिखाता है.
  • name: जगह का नाम.
  • opening_hours में यह जानकारी शामिल हो सकती है:
    • open_now एक बूलियन वैल्यू है, जिससे पता चलता है कि यह जगह मौजूदा समय में खुली हुई है या नहीं. इसके अलावा, Places लाइब्रेरी, Maps JavaScript एपीआई में इसका इस्तेमाल अब नहीं किया जा सकता. इसके बजाय, utc_offset_minutes का इस्तेमाल करें.
  • place_id एक टेक्स्ट आइडेंटिफ़ायर होता है, जो किसी जगह की खास पहचान करता है. जगह की जानकारी फिर से पाने के लिए, इस पहचानकर्ता को जगह की जानकारी के अनुरोध में पास करें. किसी जगह का आईडी देने के बारे में ज़्यादा जानें.
  • rating, जगह के लिए 0.0 से 5.0 तक की रेटिंग शामिल है. यह उपयोगकर्ताओं की मिली-जुली समीक्षाओं के आधार पर दी गई है.
  • types इस जगह के लिए कई तरह के कलेक्शन (उदाहरण के लिए, ["political", "locality"] या ["restaurant", "lodging"]). इस कैटगरी में कई वैल्यू हो सकती हैं या ये खाली हो सकती हैं. नई वैल्यू, बिना किसी सूचना के शुरू की जा सकती हैं. इस्तेमाल किए जा सकने वाले टाइप की सूची देखें.
  • vicinity: यह जगह का आसान पता है, जिसमें सड़क का नाम, सड़क का नंबर, और मोहल्ला शामिल है, लेकिन प्रांत/राज्य, पिन कोड या देश नहीं. उदाहरण के लिए, Google के सिडनी, ऑस्ट्रेलिया के ऑफ़िस में 5/48 Pirrama Road, Pyrmont की vicinity की वैल्यू है.

ज़्यादा नतीजे ऐक्सेस करना

डिफ़ॉल्ट रूप से, हर जगह की खोज के लिए हर क्वेरी के हिसाब से ज़्यादा से ज़्यादा 20 नतीजे मिलते हैं. हालांकि, हर खोज ज़्यादा से ज़्यादा 60 नतीजे दिखा सकती है और इन्हें तीन पेजों में बांटा जा सकता है. PlaceSearchPagination ऑब्जेक्ट के ज़रिए, ज़्यादा पेज उपलब्ध हैं. ज़्यादा पेज ऐक्सेस करने के लिए, आपको कॉलबैक फ़ंक्शन से PlaceSearchPagination ऑब्जेक्ट को कैप्चर करना होगा. PlaceSearchPagination ऑब्जेक्ट को इस तरह से परिभाषित किया गया है:

  • hasNextPage एक बूलियन प्रॉपर्टी है, जिससे पता चलता है कि आगे के नतीजे उपलब्ध हैं या नहीं. जब खोज के नतीजों में पेज अलग से दिखता है, तो true.
  • nextPage() एक ऐसा फ़ंक्शन है जो नतीजों का अगला सेट दिखाएगा. खोज करने के बाद, नतीजों के अगले पेज के उपलब्ध होने तक, आपको दो सेकंड इंतज़ार करना होगा.

नतीजों का अगला सेट देखने के लिए, nextPage पर कॉल करें. नतीजों का हर पेज, खोज के नतीजों का अगला पेज दिखाने से पहले दिखना चाहिए. ध्यान दें कि हर खोज को आपके इस्तेमाल की सीमाओं में एक ही अनुरोध के तौर पर गिना जाता है.

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

TypeScript

// This example requires the Places library. Include the libraries=places
// parameter when you first load the API. For example:
// <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places">

function initMap(): void {
  // Create the map.
  const pyrmont = { lat: -33.866, lng: 151.196 };
  const map = new google.maps.Map(
    document.getElementById("map") as HTMLElement,
    {
      center: pyrmont,
      zoom: 17,
      mapId: "8d193001f940fde3",
    } as google.maps.MapOptions
  );

  // Create the places service.
  const service = new google.maps.places.PlacesService(map);
  let getNextPage: () => void | false;
  const moreButton = document.getElementById("more") as HTMLButtonElement;

  moreButton.onclick = function () {
    moreButton.disabled = true;

    if (getNextPage) {
      getNextPage();
    }
  };

  // Perform a nearby search.
  service.nearbySearch(
    { location: pyrmont, radius: 500, type: "store" },
    (
      results: google.maps.places.PlaceResult[] | null,
      status: google.maps.places.PlacesServiceStatus,
      pagination: google.maps.places.PlaceSearchPagination | null
    ) => {
      if (status !== "OK" || !results) return;

      addPlaces(results, map);
      moreButton.disabled = !pagination || !pagination.hasNextPage;

      if (pagination && pagination.hasNextPage) {
        getNextPage = () => {
          // Note: nextPage will call the same handler function as the initial call
          pagination.nextPage();
        };
      }
    }
  );
}

function addPlaces(
  places: google.maps.places.PlaceResult[],
  map: google.maps.Map
) {
  const placesList = document.getElementById("places") as HTMLElement;

  for (const place of places) {
    if (place.geometry && place.geometry.location) {
      const image = {
        url: place.icon!,
        size: new google.maps.Size(71, 71),
        origin: new google.maps.Point(0, 0),
        anchor: new google.maps.Point(17, 34),
        scaledSize: new google.maps.Size(25, 25),
      };

      new google.maps.Marker({
        map,
        icon: image,
        title: place.name!,
        position: place.geometry.location,
      });

      const li = document.createElement("li");

      li.textContent = place.name!;
      placesList.appendChild(li);

      li.addEventListener("click", () => {
        map.setCenter(place.geometry!.location!);
      });
    }
  }
}

declare global {
  interface Window {
    initMap: () => void;
  }
}
window.initMap = initMap;

JavaScript

// This example requires the Places library. Include the libraries=places
// parameter when you first load the API. For example:
// <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places">
function initMap() {
  // Create the map.
  const pyrmont = { lat: -33.866, lng: 151.196 };
  const map = new google.maps.Map(document.getElementById("map"), {
    center: pyrmont,
    zoom: 17,
    mapId: "8d193001f940fde3",
  });
  // Create the places service.
  const service = new google.maps.places.PlacesService(map);
  let getNextPage;
  const moreButton = document.getElementById("more");

  moreButton.onclick = function () {
    moreButton.disabled = true;
    if (getNextPage) {
      getNextPage();
    }
  };

  // Perform a nearby search.
  service.nearbySearch(
    { location: pyrmont, radius: 500, type: "store" },
    (results, status, pagination) => {
      if (status !== "OK" || !results) return;

      addPlaces(results, map);
      moreButton.disabled = !pagination || !pagination.hasNextPage;
      if (pagination && pagination.hasNextPage) {
        getNextPage = () => {
          // Note: nextPage will call the same handler function as the initial call
          pagination.nextPage();
        };
      }
    }
  );
}

function addPlaces(places, map) {
  const placesList = document.getElementById("places");

  for (const place of places) {
    if (place.geometry && place.geometry.location) {
      const image = {
        url: place.icon,
        size: new google.maps.Size(71, 71),
        origin: new google.maps.Point(0, 0),
        anchor: new google.maps.Point(17, 34),
        scaledSize: new google.maps.Size(25, 25),
      };

      new google.maps.Marker({
        map,
        icon: image,
        title: place.name,
        position: place.geometry.location,
      });

      const li = document.createElement("li");

      li.textContent = place.name;
      placesList.appendChild(li);
      li.addEventListener("click", () => {
        map.setCenter(place.geometry.location);
      });
    }
  }
}

window.initMap = initMap;
उदाहरण देखें

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

जगह की जानकारी

किसी इलाके में मौजूद जगहों की सूची देने के अलावा, जगह की जानकारी देने वाली सेवा, किसी खास जगह के बारे में पूरी जानकारी भी दे सकती है. किसी जगह के खोज के नतीजे में जगह दिखने के बाद, उसके जगह का आईडी का इस्तेमाल करके, उस जगह के बारे में ज़्यादा जानकारी मांगी जा सकती है. जैसे, पूरा पता, फ़ोन नंबर, उपयोगकर्ता रेटिंग, और समीक्षाएं वगैरह.

जगह की जानकारी के अनुरोध

जगह की जानकारी का अनुरोध, सेवा के getDetails() तरीके से कॉल करने के लिए किया जाता है.

service = new google.maps.places.PlacesService(map);
service.getDetails(request, callback);

इस तरीके से एक अनुरोध किया जाता है. इसमें आपकी पसंद की जगह placeId और फ़ील्ड शामिल होते हैं. किसी जगह का आईडी बताने के बारे में ज़्यादा जानें.

इसमें कॉलबैक मैथड भी दिया जाता है. इसके लिए, google.maps.places.PlacesServiceStatus रिस्पॉन्स में पास किए गए स्टेटस कोड और google.maps.places.PlaceResult ऑब्जेक्ट को हैंडल करना पड़ता है.

var request = {
  placeId: 'ChIJN1t_tDeuEmsRUsoyG83frY4',
  fields: ['name', 'rating', 'formatted_phone_number', 'geometry']
};

service = new google.maps.places.PlacesService(map);
service.getDetails(request, callback);

function callback(place, status) {
  if (status == google.maps.places.PlacesServiceStatus.OK) {
    createMarker(place);
  }
}

उदाहरण देखें

फ़ील्ड (स्थान विवरण)

fields पैरामीटर स्ट्रिंग की एक रेंज लेता है (फ़ील्ड नाम).

जगह वाले डेटा टाइप की कैटगरी तय करने के लिए, fields पैरामीटर का इस्तेमाल करें. उदाहरण के लिए: fields: ['address_component', 'opening_hours', 'geometry']. कंपाउंड वैल्यू तय करते समय, बिंदु का इस्तेमाल करें. उदाहरण के लिए: opening_hours.weekday_text.

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

बुनियादी

4

संपर्क की जानकारी

संपर्क की कैटगरी में ये फ़ील्ड शामिल हैं:
formatted_phone_number, international_phone_number, opening_hours, website

माहौल

माहौल में ये फ़ील्ड शामिल हैं: price_level, rating, reviews, user_ratings_total

जगह के फ़ील्ड के बारे में ज़्यादा जानें. 'जगह की जानकारी के डेटा के अनुरोधों' का बिल भेजने के तरीके के बारे में ज़्यादा जानकारी के लिए, इस्तेमाल और बिलिंग देखें.

जगह की जानकारी से जुड़े जवाब

स्थिति कोड

PlacesServiceStatus रिस्पॉन्स ऑब्जेक्ट में अनुरोध की स्थिति होती है. इसमें डीबग करने की जानकारी शामिल हो सकती है, ताकि आप यह पता लगा सकें कि जगह की जानकारी का अनुरोध पूरा क्यों नहीं हुआ. स्थिति की वैल्यू ये हो सकती हैं:

  • INVALID_REQUEST: यह अनुरोध गलत था.
  • OK: जवाब में एक मान्य नतीजा शामिल है.
  • OVER_QUERY_LIMIT: वेबपेज अपने अनुरोध कोटा से ज़्यादा हो गया है.
  • NOT_FOUND बताई गई जगह, डेटाबेस में नहीं मिली.
  • REQUEST_DENIED: वेबपेज को Places सेवा का इस्तेमाल करने की अनुमति नहीं है.
  • UNKNOWN_ERROR: Places सेवा अनुरोध को किसी सर्वर गड़बड़ी के कारण संसाधित नहीं किया जा सका. आपके दोबारा कोशिश करने पर, हो सकता है कि अनुरोध पूरा हो जाए.
  • ZERO_RESULTS: इस अनुरोध के लिए कोई नतीजा नहीं मिला.

जगह की जानकारी के नतीजे

अगर getDetails() कॉल पूरा हो जाता है, तो यह इन प्रॉपर्टी के साथ PlaceResult ऑब्जेक्ट दिखाता है:

  • address_components: इस पते पर लागू होने वाले अलग-अलग कॉम्पोनेंट वाली एक कैटगरी.

    पते के हर कॉम्पोनेंट में आम तौर पर ये फ़ील्ड शामिल होते हैं:

    • types[] एक कैटगरी है, जो पते के कॉम्पोनेंट का टाइप बताती है. इस्तेमाल किए जा सकने वाले टाइप की सूची देखें.
    • long_name, टेक्स्ट का पूरा ब्यौरा होता है या जियोकोडर से मिले कॉम्पोनेंट का नाम होता है.
    • short_name, पते के कॉम्पोनेंट का छोटा टेक्स्ट होता है, अगर उपलब्ध हो. उदाहरण के लिए, अलास्का राज्य के लिए पते के कॉम्पोनेंट में "अलास्का" का long_name और "AK" का short_name हो सकता है. इसके लिए, दो अक्षरों वाले डाक का छोटा नाम इस्तेमाल किया जाना चाहिए.

    address_components[] कैटगरी के बारे में इन बातों पर ध्यान दें:

    • पते के कॉम्पोनेंट की कैटगरी में, formatted_address से ज़्यादा कॉम्पोनेंट हो सकते हैं.
    • श्रेणी में सिर्फ़ वे सभी राजनैतिक इकाइयां शामिल होती हैं जिनमें पता शामिल होता है. हालांकि, इसमें formatted_address में शामिल सभी राजनैतिक इकाइयां भी शामिल नहीं होती हैं. किसी खास पते वाली सभी राजनैतिक इकाइयों को फिर से पाने के लिए, आपको पते के अक्षांश/देशांतर को अनुरोध के पैरामीटर के तौर पर पास करके, रिवर्स जियोकोडिंग का इस्तेमाल करना चाहिए.
    • इस बात की गारंटी नहीं दी जा सकती कि रिस्पॉन्स का फ़ॉर्मैट, अनुरोधों के बीच एक जैसा रहेगा. खास तौर पर, address_components की संख्या, अनुरोध किए गए पते के हिसाब से अलग-अलग होती है. साथ ही, समय के साथ इस पते के लिए बदलाव हो सकता है. कोई कॉम्पोनेंट, अरे में पोज़िशन बदल सकता है. कॉम्पोनेंट किस तरह का है, यह बदल सकता है. हो सकता है कि बाद में दिए जाने वाले जवाब में कोई खास कॉम्पोनेंट मौजूद न हो.
  • अगर कोई कारोबार है, तो business_status से उसकी जगह की जानकारी मिलती है. इसमें इनमें से कोई एक वैल्यू हो सकती है:
    • OPERATIONAL
    • CLOSED_TEMPORARILY
    • CLOSED_PERMANENTLY
    अगर कोई डेटा मौजूद नहीं है, तो business_status नहीं दिखेगा.
  • formatted_address: इस जगह के बारे में लोगों ने पढ़ा है.

    अक्सर यह पता डाक पते के बराबर होता है. ध्यान दें कि यूनाइटेड किंगडम जैसे कुछ देश, लाइसेंस से जुड़ी पाबंदियों की वजह से, डाक के पते भी डिलीवर करने की अनुमति नहीं देते हैं.

    फ़ॉर्मैट किया गया पता, एक या एक से ज़्यादा पते के कॉम्पोनेंट से बना होता है. उदाहरण के लिए, पते "111 8th Avenue, New York, NY" में ये कॉम्पोनेंट शामिल होते हैं: "111" (सड़क का नंबर), "8th Avenue" (रास्ते), "न्यूयॉर्क" (शहर) और "NY" (अमेरिका का राज्य).

    फ़ॉर्मैट किए गए पते को प्रोग्राम के तौर पर पार्स न करें. इसके बजाय, आपको अलग-अलग पते वाले कॉम्पोनेंट का इस्तेमाल करना चाहिए. इसमें, एपीआई के जवाब में, फ़ॉर्मैट किए गए पते वाले फ़ील्ड के अलावा, कॉम्पोनेंट भी शामिल होते हैं.

  • formatted_phone_number: जगह का फ़ोन नंबर, जिसे नंबर के क्षेत्रीय सम्मेलन के मुताबिक फ़ॉर्मैट किया गया है.
  • geometry: जगह की ज्यामिति से जुड़ी जानकारी. इसमें ये शामिल हैं:
    • location, जगह के अक्षांश और देशांतर की जानकारी देता है.
    • इस जगह को देखते समय, viewport मैप पर पसंदीदा व्यूपोर्ट के बारे में बताता है.
  • permanently_closed (अब इस्तेमाल में नहीं है) एक बूलियन फ़्लैग है. इससे पता चलता है कि जगह हमेशा के लिए बंद हो गई है या कुछ समय के लिए (वैल्यू true) बंद हो गई है. permanently_closed का इस्तेमाल न करें. इसके बजाय, कारोबार की स्थिति जानने के लिए business_status का इस्तेमाल करें.
  • plus_code (ओपन लोकेशन कोड और प्लस कोड) कोड में बदली गई जगह का रेफ़रंस है. इसका अक्षांश और देशांतर में से 1 से 1000 का आपका ब्यौरा है. Plus Code का इस्तेमाल उन जगहों के मोहल्ले के पतों की जगह किया जा सकता है जहां वे मौजूद नहीं हैं (जहां इमारतों को नंबर नहीं दिया जाता या सड़कों को नाम नहीं दिया जाता).

    प्लस कोड को ग्लोबल कोड और कंपाउंड कोड के तौर पर फ़ॉर्मैट किया जाता है:

    • global_code एक 4 वर्ण का क्षेत्र कोड और 6 वर्ण या इससे ज़्यादा स्थानीय कोड (849VCWC8+R9) है.
    • compound_code एक छह वर्णों या उससे ज़्यादा का स्थानीय कोड है, जिसमें साफ़ तौर पर जगह बताई गई है (CWC8+R9, Mountain View, CA, USA). इस कॉन्टेंट को प्रोग्राम के तौर पर पार्स न करें.
    आम तौर पर, ग्लोबल कोड और कंपाउंड कोड, दोनों दिखते हैं. हालांकि, अगर नतीजा किसी दूसरी जगह (उदाहरण के लिए, समुद्र या रेगिस्तान) में आता है, तो सिर्फ़ ग्लोबल कोड दिखाया जा सकता है.
  • html_attributions: इस जगह के खोज के नतीजों में दिखने वाला एट्रिब्यूशन टेक्स्ट.
  • icon: इमेज के संसाधन का यूआरएल, जिसका इस्तेमाल इस जगह के बारे में जानकारी देने के लिए किया जा सकता है.
  • international_phone_number में स्थान का फ़ोन नंबर अंतरराष्ट्रीय फ़ॉर्मैट में होता है. अंतरराष्ट्रीय फ़ॉर्मैट में देश का कोड शामिल होता है. इसके आगे, प्लस (+) का निशान होता है. उदाहरण के लिए, Google के सिडनी के लिए international_phone_number, ऑस्ट्रेलिया का ऑफ़िस +61 2 9374 4000 है.
  • name: जगह का नाम.
  • Places लाइब्रेरी में utc_offset इस्तेमाल नहीं किया गया. Maps JavaScript API, इसके बजाय utc_offset_minutes का इस्तेमाल करें.
  • utc_offset_minutes में इतने मिनट शामिल हैं कि इस जगह का मौजूदा समय क्षेत्र यूटीसी से ऑफ़सेट है.
  • opening_hours में यह जानकारी शामिल है:
    • open_now (जगहों की लाइब्रेरी, Maps JavaScript एपीआई में इसका इस्तेमाल अब नहीं किया जाता है; इसके बजाय, opening_hours.isOpen() का इस्तेमाल करें. जगह की जानकारी के साथ isOpen इस्तेमाल करने का तरीका जानने के लिए, यह वीडियो देखें.) यह एक बूलियन वैल्यू है, जिससे पता चलता है कि यह जगह मौजूदा समय में खुली हुई है या नहीं.
    • periods[], शुरुआती दिनों की एक कैटगरी है, जिसमें सात दिन शामिल हैं. यह रविवार से शुरू होगी और समय के हिसाब से क्रम में लगी होगी. हर अवधि में ये चीज़ें शामिल होती हैं:
      • open में दिन और समय की ऐसी दो चीज़ें शामिल होती हैं जब किसी जगह के खुलने का समय बताया जाता है:
        • day 0–6 तक की संख्या. यह रविवार से शुरू होने वाले हफ़्ते के दिनों के मुताबिक होती है. उदाहरण के लिए, 2 का मतलब है मंगलवार.
        • time में 24 घंटे के hhmm फ़ॉर्मैट में दिन का समय हो सकता है (वैल्यू 0000–2359 की रेंज में हैं). time की जानकारी उस जगह के समय क्षेत्र के हिसाब से दी जाएगी.
      • close में दिन और समय की ऐसी दो चीज़ें हो सकती हैं जो जगह के बंद होने की जानकारी देती हैं. ध्यान दें: अगर कोई जगह हमेशा खुली है, तो जवाब में, close सेक्शन मौजूद नहीं होगा. ऐप्लिकेशन हमेशा हमेशा खुले रहने पर भरोसा कर सकते हैं, जिसे open की अवधि के रूप में दिखाया जाता है. इसमें open की वैल्यू 0 और time की वैल्यू 0,000 होती है. हालांकि, वैल्यू close की नहीं होनी चाहिए.
    • weekday_text सात स्ट्रिंग की एक कैटगरी है, जो हफ़्ते के हर दिन के लिए, खुलने के समय की जानकारी देती है. अगर जगह की जानकारी के अनुरोध में language पैरामीटर के बारे में बताया गया था, तो 'जगह की जानकारी' सेवा, कारोबार के खुले होने के समय को उसी भाषा में फ़ॉर्मैट और स्थानीय भाषा में देगी. इस श्रेणी में एलिमेंट का क्रम language पैरामीटर पर निर्भर करता है. कुछ भाषाएं सोमवार से शुरू होती हैं, जबकि कुछ रविवार से शुरू होती हैं.
  • permanently_closed (अब इस्तेमाल में नहीं है) एक बूलियन फ़्लैग है. इससे पता चलता है कि जगह हमेशा के लिए बंद हो गई है या कुछ समय के लिए (वैल्यू true) बंद हो गई है. permanently_closed का इस्तेमाल न करें. इसके बजाय, कारोबार की स्थिति जानने के लिए business_status का इस्तेमाल करें.
  • photos[]: PlacePhoto ऑब्जेक्ट की कैटगरी. PlacePhoto का इस्तेमाल करके, getUrl() तरीके से फ़ोटो ली जा सकती है या नीचे दी गई वैल्यू के लिए, ऑब्जेक्ट की जांच की जा सकती है:
    • height: इमेज की ज़्यादा से ज़्यादा ऊंचाई पिक्सल में.
    • width: इमेज की ज़्यादा से ज़्यादा चौड़ाई पिक्सल में.
    • html_attributions: इस जगह की फ़ोटो के साथ दिखाया जाने वाला एट्रिब्यूशन टेक्स्ट.
  • place_id: किसी टेक्स्ट को पहचानने की सुविधा से, किसी जगह की खास तौर पर पहचान की जा सकती है. साथ ही, इसका इस्तेमाल जगह की जानकारी का अनुरोध करके, जगह की जानकारी फिर से पाने के लिए किया जा सकता है. किसी जगह का आईडी देने के बारे में ज़्यादा जानें.
  • rating: सभी उपयोगकर्ताओं की समीक्षाओं के आधार पर, जगह की रेटिंग 0.0 से 5.0 तक है.
  • reviews ज़्यादा से ज़्यादा पांच समीक्षाएं. हर समीक्षा में कई कॉम्पोनेंट होते हैं:
    • aspects[] में PlaceAspectRating ऑब्जेक्ट की कैटगरी शामिल है. इनमें से हर ऑब्जेक्ट, एक ऐसे एट्रिब्यूट की रेटिंग देता है जो मौजूद है. श्रेणी में पहले ऑब्जेक्ट को मुख्य पहलू माना जाता है. हर PlaceAspectRating को इस तरह से परिभाषित किया गया है:
      • type उस पक्ष का नाम जिसे रेटिंग दी जा रही है. इन टाइप का इस्तेमाल किया जा सकता है: appeal, atmosphere, decor, facilities, food, overall, quality और service.
      • इस खास पहलू के लिए, उपयोगकर्ता की रेटिंग rating, 0 से 3 तक.
    • author_name उस उपयोगकर्ता का नाम जिसने समीक्षा सबमिट की है. पहचान छिपाकर की गई समीक्षाएं "Google उपयोगकर्ता" की कैटगरी में आती हैं. अगर किसी भाषा का पैरामीटर सेट किया गया था, तो वाक्यांश "Google उपयोगकर्ता" से स्थानीय भाषा में जानकारी मिलेगी.
    • author_url उपयोगकर्ताओं के लिए Google+ प्रोफ़ाइल का यूआरएल, अगर उपलब्ध हो.
    • language एक आईईटीएफ़ भाषा कोड, जिससे उपयोगकर्ता की समीक्षा में इस्तेमाल की गई भाषा के बारे में पता चलता है. इस फ़ील्ड में सिर्फ़ मुख्य भाषा टैग होता है, न कि देश या क्षेत्र दिखाने वाला सेकंडरी टैग. उदाहरण के लिए, अंग्रेज़ी में की गई सभी समीक्षाओं को 'en' के तौर पर टैग किया जाता है, 'en-AU' या 'en-UK' वगैरह के तौर पर नहीं.
    • इस जगह के लिए, उपयोगकर्ता की कुल रेटिंग rating. यह एक पूरी संख्या है, जिसमें 1 से लेकर 5 तक शामिल हैं.
    • उपयोगकर्ता की समीक्षा text. Google Places की मदद से जगह की समीक्षा करते समय, टेक्स्ट की समीक्षाओं को वैकल्पिक माना जाता है. इसलिए, इस फ़ील्ड को खाली छोड़ा जा सकता है.
  • types इस जगह के लिए कई तरह के कलेक्शन (उदाहरण के लिए, ["political", "locality"] या ["restaurant", "lodging"]). इस कैटगरी में कई वैल्यू हो सकती हैं या ये खाली हो सकती हैं. नई वैल्यू, बिना किसी सूचना के शुरू की जा सकती हैं. इस्तेमाल किए जा सकने वाले टाइप की सूची देखें.
  • url: इस जगह के लिए Google के आधिकारिक पेज का यूआरएल. यह Google के मालिकाना हक वाला पेज है, जिसमें जगह के बारे में सबसे अच्छी जानकारी दी गई है. ऐप्लिकेशन को इस पेज को किसी भी स्क्रीन से लिंक या एम्बेड करना होगा, जो उपयोगकर्ता के लिए जगह के बारे में ज़्यादा जानकारी वाले नतीजे दिखाता हो.
  • vicinity: यह जगह का आसान पता है, जिसमें सड़क का नाम, सड़क का नंबर, और मोहल्ला शामिल है, लेकिन प्रांत/राज्य, पिन कोड या देश नहीं. उदाहरण के लिए, Google के सिडनी, ऑस्ट्रेलिया के ऑफ़िस में 5/48 Pirrama Road, Pyrmont की vicinity की वैल्यू है. vicinity प्रॉपर्टी सिर्फ़ आस-पास के खोज के लिए दिखाई जाती है.
  • website, इस कारोबार की आधिकारिक वेबसाइट को लिस्ट करता है, जैसे कि कारोबार का होम पेज.

ध्यान दें: हो सकता है कि मल्टीमेट्रिक डाइमेंशन सभी जगहों के लिए उपलब्ध न हों. अगर बहुत कम समीक्षाएं दी गई हैं, तो पूरी जानकारी के साथ दिए गए जवाब में या तो 0.0 से 5.0 स्केल पर उपलब्ध लेगसी रेटिंग (अगर उपलब्ध हो) या बिल्कुल भी रेटिंग शामिल नहीं होगी.

स्थान आईडी वाले स्थान का संदर्भ देना

जगह का आईडी, Google Maps पर मौजूद किसी जगह का एक खास रेफ़रंस होता है. जगहों के आईडी, ज़्यादातर जगहों के लिए उपलब्ध हैं. इनमें कारोबार, लैंडमार्क, पार्क, और चौराहे शामिल हैं.

अपने ऐप्लिकेशन में स्थान आईडी का इस्तेमाल करने के लिए, आपको सबसे पहले आईडी खोजना होगा. यह आईडी PlaceResultजगह की जानकारी के खोज या ब्यौरे के अनुरोध में उपलब्ध होता है. इसके बाद, आप इस जगह के आईडी का इस्तेमाल करके जगह की जानकारी देख सकते हैं.

जगह के आईडी, Google Maps Platform की सेवा की शर्तों के सेक्शन 3.2.3(a) में बताई गई कैश मेमोरी की पाबंदियों से बचे हुए हैं. इसलिए, आप बाद में इस्तेमाल करने के लिए, जगह के आईडी को सेव कर सकते हैं. जगह का आईडी सेव करने के सबसे सही तरीके जानने के लिए, जगह के आईडी की खास जानकारी देखें.

var map;

function initialize() {
  // Create a map centered in Pyrmont, Sydney (Australia).
  map = new google.maps.Map(document.getElementById('map'), {
    center: {lat: -33.8666, lng: 151.1958},
    zoom: 15
  });

  // Search for Google's office in Australia.
  var request = {
    location: map.getCenter(),
    radius: '500',
    query: 'Google Sydney'
  };

  var service = new google.maps.places.PlacesService(map);
  service.textSearch(request, callback);
}

// Checks that the PlacesServiceStatus is OK, and adds a marker
// using the place ID and location from the PlacesService.
function callback(results, status) {
  if (status == google.maps.places.PlacesServiceStatus.OK) {
    var marker = new google.maps.Marker({
      map: map,
      place: {
        placeId: results[0].place_id,
        location: results[0].geometry.location
      }
    });
  }
}

google.maps.event.addDomListener(window, 'load', initialize);

जगह की फ़ोटो

जगह की फ़ोटो जोड़ने की सुविधा की मदद से, साइट में अच्छी क्वालिटी का फ़ोटोग्राफ़िक कॉन्टेंट जोड़ा जा सकता है. फ़ोटो सेवा आपको Places और Google+ लोकल डेटाबेस में संग्रहित लाखों फ़ोटो तक ऐक्सेस देती है. जगह की जानकारी का अनुरोध करते समय, जगह की जानकारी मिलने पर, फ़ोटो से जुड़े रेफ़रंस के लिए, फ़ोटो के रेफ़रंस दिखाए जाएंगे. आस-पास खोज और टेक्स्ट खोज अनुरोध भी प्रासंगिक होने पर, हर जगह के लिए एक फ़ोटो रेफ़रंस दिखाते हैं. उसके बाद फ़ोटो सेवा का इस्तेमाल करके, आप तय की गई फ़ोटो ऐक्सेस कर सकते हैं. साथ ही, इमेज को अपने ऐप्लिकेशन के सबसे सही आकार में बदल सकते हैं.

getDetails() के लिए, किसी भी getDetails(), textSearch() या nearbySearch() के अनुरोध पर, PlaceResult ऑब्जेक्ट के हिस्से के तौर पर, PlacePhoto ऑब्जेक्ट की कैटगरी दिखाई जाएगी.

ध्यान दें: अनुरोध की गई फ़ोटो की संख्या अलग-अलग हो सकती है.

  • आस-पास सुविधा के लिए टेक्स्ट खोजने या टेक्स्ट खोजने पर, ज़्यादा से ज़्यादा एक PlacePhoto ऑब्जेक्ट दिखेगा.
  • जानकारी का अनुरोध दस PlacePhoto ऑब्जेक्ट तक दिखाएगा.

आप PlacePhoto.getUrl() तरीके को कॉल करके और एक मान्य PhotoOptions ऑब्जेक्ट पास करके, मिलती-जुलती इमेज के यूआरएल का अनुरोध कर सकते हैं. PhotoOptions ऑब्जेक्ट, आपको इमेज की ज़्यादा से ज़्यादा ऊंचाई और चौड़ाई तय करने की सुविधा देता है. अगर आप maxHeight और maxWidth, दोनों के लिए वैल्यू तय करते हैं, तो फ़ोटो की सेवा का साइज़ बदलकर, दो साइज़ वाले साइज़ के बराबर हो जाएगा. मूल आसपेक्ट रेशियो भी वही रहेगा.

यह कोड स्निपेट एक स्थान ऑब्जेक्ट को स्वीकार करता है. साथ ही, कोई फ़ोटो मौजूद होने पर मैप में एक मार्कर जोड़ता है. डिफ़ॉल्ट मार्कर इमेज को फ़ोटो के छोटे वर्शन से बदल दिया जाता है.

function createPhotoMarker(place) {
  var photos = place.photos;
  if (!photos) {
    return;
  }

  var marker = new google.maps.Marker({
    map: map,
    position: place.geometry.location,
    title: place.name,
    icon: photos[0].getUrl({maxWidth: 35, maxHeight: 35})
  });
}

फ़ोटो सेवा से मिलने वाली फ़ोटो कई जगहों से ली जाती है, जिसमें कारोबार के मालिक और उपयोगकर्ता की ओर से अपलोड की गई फ़ोटो भी शामिल होती हैं. ज़्यादातर मामलों में, इन फ़ोटो का इस्तेमाल बिना एट्रिब्यूशन के किया जा सकता है या इनमें इमेज के हिस्से के तौर पर ज़रूरी एट्रिब्यूशन शामिल होगा. हालांकि, अगर रिटर्न किए गए photo एलिमेंट में html_attributions फ़ील्ड की कोई वैल्यू शामिल है, तो आपको अपने ऐप्लिकेशन में कोई और एट्रिब्यूशन शामिल करना होगा.