स्टाइल किए गए मानचित्र

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

उदाहरण

यहां दिए गए उदाहरण में, अमेरिका के ब्रुकलिन का नक्शा दिखाया गया है. इसमें स्थानीय सड़कों को चमकदार हरे रंग और रिहायशी इलाकों को काले रंग से दिखाया गया है. इससे लेबल के रंग में भी बदलाव होता है, ताकि वे गहरे रंग के बैकग्राउंड के मुकाबले बेहतर तरीके से दिखें. ध्यान दें कि इस काम करने वाले उदाहरण में, यूआरएल एन्कोडिंग का इस्तेमाल किया गया है:

https://maps.googleapis.com/maps/api/staticmap?size=512x512&zoom=15&center=Brooklyn&style=feature:road.local%7Celement:geometry%7Ccolor:0x00ff00&style=feature:landscape%7Celement:geometry.fill%7Ccolor:0x000000&style=element:labels%7Cinvert_lightness:true&style=feature:road.arterial%7Celement:labels%7Cinvert_lightness:false&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
ब्रुकलिन का स्टाइल किया गया मैप.

यहां दिए गए उदाहरण में, अमेरिका के सड़क के एटलस की स्टाइल को ज़्यादा बेहतर बनाने के लिए, स्टाइल करने की कार्रवाइयों और आसानी से समझ आने वाले तरीकों का इस्तेमाल किया गया है:

https://maps.googleapis.com/maps/api/staticmap?size=512x512&zoom=12&center=Chicago&format=png&style=feature:road.highway%7Celement:geometry%7Cvisibility:simplified%7Ccolor:0xc280e9&style=feature:transit.line%7Cvisibility:simplified%7Ccolor:0xbababa&style=feature:road.highway%7Celement:labels.text.stroke%7Cvisibility:on%7Ccolor:0xb06eba&style=feature:road.highway%7Celement:labels.text.fill%7Cvisibility:on%7Ccolor:0xffffff&key=YOUR_API_KEY&signature=DITIGAL_SIGNATURE
अमेरिका के सड़क एटलस का मैप स्टाइल.

स्टाइल सिंटैक्स

अपनी पसंद के मुताबिक स्टाइल वाला मैप बनाने के लिए, अनुरोध यूआरएल में एक या उससे ज़्यादा style पैरामीटर शामिल करें.

हर style एलान में ये आर्ग्युमेंट हो सकते हैं. इन्हें पाइप वर्ण ("|") से अलग किया जाता है:

  • feature (ज़रूरी नहीं) इस स्टाइल में बदलाव करने के लिए, चुनी जाने वाली सुविधाओं के बारे में बताता है. सुविधाओं में, मैप पर मौजूद चीज़ें शामिल होती हैं. जैसे, सड़कें, पार्क या लोकप्रिय जगहें. अगर कोई feature आर्ग्युमेंट मौजूद नहीं है, तो तय की गई स्टाइल सभी फ़ीचर पर लागू होती है.
  • element (ज़रूरी नहीं) से, स्टाइल में बदलाव करने के लिए, चुनी गई सुविधा के एलिमेंट के बारे में पता चलता है. एलिमेंट, किसी फ़ीचर की विशेषताएं होती हैं. जैसे, ज्यामिति या लेबल. अगर कोई element आर्ग्युमेंट मौजूद नहीं है, तो स्टाइल, बताई गई सुविधा के सभी एलिमेंट पर लागू होता है.
  • तय की गई सुविधाओं और एलिमेंट पर लागू करने के लिए, स्टाइल के नियमों का एक सेट (ज़रूरी है). एपीआई, नियमों को उसी क्रम में लागू करता है जिस क्रम में वे style एलान में दिखते हैं. Maps Static API के यूआरएल की सामान्य लंबाई की सीमाओं के अंदर, जितने चाहें उतने नियम शामिल किए जा सकते हैं.
style=feature:myFeatureArgument|element:myElementArgument|myRule1:myRule1Argument|myRule2:myRule2Argument

सुविधाएं

यहां दिया गया style एलान, मैप पर सभी सड़कों को रंग देता है:

style=feature:road|color:0xffffff

यहां कुछ सामान्य सुविधाएं चुनने के विकल्प दिए गए हैं:

  • feature:all (डिफ़ॉल्ट) से मैप की सभी सुविधाएं चुनी जाती हैं.
  • feature:road, मैप पर सभी सड़कों को चुनता है.
  • feature:road.local सभी स्थानीय सड़कों को चुनता है.

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

ये सुविधाएं, कैटगरी ट्री बनाती हैं. इसमें all को रूट के तौर पर इस्तेमाल किया जाता है. अगर कोई सुविधा नहीं चुनी जाती है, तो सभी सुविधाएं चुनी जाती हैं. all की किसी सुविधा के बारे में बताने से भी यही असर होता है.

कुछ सुविधाओं में चाइल्ड सुविधाएं होती हैं, जिन्हें डॉट नोटेशन का इस्तेमाल करके तय किया जाता है. उदाहरण के लिए, landscape.natural या road.local. अगर आपने सिर्फ़ पैरंट की सुविधा, जैसे कि road तय की है, तो पैरंट के लिए तय किए गए स्टाइल, उसके सभी चाइल्ड पर लागू होंगे. जैसे, road.local और road.highway.

ध्यान दें कि पैरंट सुविधाओं में कुछ ऐसे एलिमेंट शामिल हो सकते हैं जो उनकी सभी चाइल्ड सुविधाओं में शामिल नहीं होते.

ये सुविधाएं उपलब्ध हैं:

  • all (डिफ़ॉल्ट) सभी सुविधाओं को चुनता है.
  • administrative सभी एडमिनिस्ट्रेटिव एरिया चुनता है. स्टाइल सेट करने पर, सिर्फ़ प्रशासनिक इलाकों के लेबल पर असर पड़ता है, न कि भौगोलिक सीमाओं या भरी हुई जगह पर.
    • administrative.country देशों को चुनता है.
    • administrative.land_parcel ज़मीन के पार्सल चुनता है.
    • administrative.locality इलाके चुनता है.
    • administrative.neighborhood आस-पास के इलाके चुनता है.
    • administrative.province प्रांत चुनता है.
  • landscape सभी लैंडस्केप चुनता है.
    • landscape.man_made, इमारतें और अन्य मानव-निर्मित इकाइयां चुनता है.
    • landscape.natural, पहाड़ों, नदियों, रेगिस्तान, और हिमालय जैसी प्राकृतिक जगहों को चुनता है.
    • landscape.natural.landcover, लैंड कवर की सुविधाओं को चुनता है. ये ऐसे भौतिक पदार्थ होते हैं जो धरती की सतह को कवर करते हैं. जैसे, जंगल, घास के मैदान, वेटलैंड, और खाली जमीन.
    • landscape.natural.terrain, किसी जमीन की सतह की टेरेन की विशेषताओं को चुनता है, जैसे कि ऊंचाई, ढलान, और ओरिएंटेशन.
  • poi, सभी लोकप्रिय जगहों को चुनता है.
    • poi.attraction, पर्यटकों के घूमने की जगहें चुनता है.
    • poi.business कारोबार चुनता है.
    • poi.government सरकारी इमारतों को चुनता है.
    • poi.medical आपातकालीन सेवाओं को चुनता है. इनमें अस्पताल, फ़ार्मेसी, पुलिस, डॉक्टर वगैरह शामिल हैं.
    • poi.park पार्क चुनता है.
    • poi.place_of_worship, पूजा-स्थलों को चुनता है. इनमें चर्च, मंदिर, मस्जिद वगैरह शामिल हैं.
    • poi.school स्कूल चुनता है.
    • poi.sports_complex, स्पोर्ट्स कॉम्प्लेक्स चुनता है.
  • road सभी सड़कों को चुनता है.
    • road.arterial, मुख्य सड़कों को चुनता है.
    • road.highway हाइवे चुनता है.
    • road.highway.controlled_access, कंट्रोल किए गए ऐक्सेस वाले हाइवे चुनता है.
    • road.local स्थानीय सड़कों को चुनता है.
  • transit, सार्वजनिक परिवहन के सभी स्टेशन और लाइनें चुनता है.
    • transit.line, सार्वजनिक परिवहन की लाइनें चुनता है.
    • transit.station, सभी बस, मेट्रो वगैरह के स्टेशन चुनता है.
    • transit.station.airport, हवाई अड्डे चुनता है.
    • transit.station.bus, बस स्टॉप चुनता है.
    • transit.station.rail रेलवे स्टेशन चुनता है.
  • water, पानी के स्रोत चुनता है.

एलिमेंट

यहां दिया गया style एलान, सभी लोकल सड़कों के लेबल को रंग देता है:

style=feature:road.local|element:labels|color:0xffffff

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

यहां दिए गए एलिमेंट उपलब्ध हैं. हालांकि, ध्यान दें कि हो सकता है कि कोई सुविधा, इनमें से किसी भी एलिमेंट के साथ काम न करे, कुछ एलिमेंट के साथ काम करे या सभी एलिमेंट के साथ काम करे:

ज़ूम लेवल के हिसाब से, लेबल टेक्स्ट fill और stroke के रंग बदल जाते हैं. ज़ूम लेवल के हिसाब से एक जैसा अनुभव देने के लिए, हमेशा fill और stroke, दोनों को तय करें.

  • all (डिफ़ॉल्ट) चुनी गई सुविधा के सभी एलिमेंट चुनता है.
  • geometry, चुनी गई सुविधा के सभी ज्यामितीय एलिमेंट चुनता है.
    • geometry.fill, सिर्फ़ सुविधा की ज्यामिति का भराव चुनता है.
    • geometry.stroke, सिर्फ़ सुविधा की ज्यामिति के स्ट्रोक को चुनता है.
  • labels, बताई गई सुविधा से जुड़े टेक्स्ट लेबल चुनता है.
    • labels.icon, सुविधा के लेबल में दिखाए गए सिर्फ़ आइकॉन को चुनता है.
    • labels.text सिर्फ़ लेबल का टेक्स्ट चुनता है.
    • labels.text.fill, सिर्फ़ लेबल का फ़िल चुनता है. आम तौर पर, लेबल के फ़िल को रंगीन आउटलाइन के तौर पर रेंडर किया जाता है. यह आउटलाइन, लेबल टेक्स्ट के चारों ओर होती है.
    • labels.text.stroke, लेबल के टेक्स्ट के सिर्फ़ स्ट्रोक को चुनता है.

स्टाइल के नियम

स्टाइल के नियम, फ़ॉर्मैटिंग के विकल्प होते हैं. ये हर style एलान में बताई गई सुविधाओं और एलिमेंट पर लागू होते हैं.

यहां दिया गया style एलान, मैप पर मौजूद सड़कों के लिए, स्टाइल से जुड़े दो नियम लागू करता है. पहला नियम, सड़कों पर रंग लागू करता है. दूसरा नियम, सड़कों को आसानी से दिखाता है, ताकि उनमें आउटलाइन के बिना पतली लाइनें हों:

style=feature:road|color:0xffffff|visibility:simplified

हर style एलान में एक या एक से ज़्यादा ऑपरेशन होने चाहिए, जिन्हें पाइप ("|") वर्ण का इस्तेमाल करके अलग किया गया हो. हर ऑपरेशन में, कोलन (":") वर्ण का इस्तेमाल करके, अपने आर्ग्युमेंट की वैल्यू तय की जाती है. साथ ही, सभी ऑपरेशन, चुने गए डेटा पर उसी क्रम में लागू होते हैं जिस क्रम में आपने उन्हें तय किया है.

ये स्टाइल विकल्प काम करते हैं:

  • hue (#RRGGBB फ़ॉर्मैट की आरजीबी हेक्स स्ट्रिंग), बुनियादी रंग दिखाती है.

    ध्यान दें: यह विकल्प, ह्यू को सेट करता है. साथ ही, Google के डिफ़ॉल्ट स्टाइल (या मैप पर तय किए गए अन्य स्टाइल विकल्पों) में बताई गई संतृप्ति और हल्केपन को बनाए रखता है. नतीजे में मिलने वाला रंग, बेस मैप के स्टाइल पर निर्भर करता है. अगर Google, बेस मैप की स्टाइल में कोई बदलाव करता है, तो उन बदलावों का असर आपके मैप की उन सुविधाओं पर पड़ता है जिनमें hue का इस्तेमाल किया गया है. अगर हो सके, तो बेहतर होगा कि आप absolute color स्टाइलर का इस्तेमाल करें.

  • lightness (-100 और 100 के बीच की फ़्लोटिंग पॉइंट वैल्यू), एलिमेंट की चमक में हुए बदलाव का प्रतिशत दिखाती है. नेगेटिव वैल्यू से रंग गहरे होते हैं (जहां -100 का मतलब काला होता है) जबकि पॉज़िटिव वैल्यू से रंग हल्के होते हैं (जहां +100 का मतलब सफ़ेद होता है).

    ध्यान दें: यह विकल्प, डिफ़ॉल्ट Google स्टाइल (या मैप पर तय किए गए अन्य स्टाइल विकल्पों) में बताए गए संतृप्ति और रंग को बनाए रखते हुए, हल्के रंग को सेट करता है. नतीजे में मिलने वाला रंग, बेस मैप के स्टाइल पर निर्भर करता है. अगर Google, बेस मैप की स्टाइल में कोई बदलाव करता है, तो इन बदलावों का असर आपके मैप की उन सुविधाओं पर पड़ता है जिनमें lightness का इस्तेमाल किया गया है. अगर हो सके, तो बेहतर होगा कि आप color स्टाइलर का इस्तेमाल करें.

  • saturation (-100 और 100 के बीच की फ़्लोटिंग पॉइंट वैल्यू), एलिमेंट पर लागू किए जाने वाले बुनियादी रंग की तीव्रता में हुए बदलाव का प्रतिशत दिखाती है.

    ध्यान दें: यह विकल्प, डिफ़ॉल्ट Google स्टाइल (या मैप पर तय किए गए अन्य स्टाइल विकल्पों) में तय किए गए रंग और हल्के रंग को बनाए रखते हुए, संतृप्ति सेट करता है. नतीजे में मिलने वाला रंग, बेस मैप के स्टाइल पर निर्भर करता है. अगर Google, बेस मैप की स्टाइल में कोई बदलाव करता है, तो उन बदलावों का असर आपके मैप की उन सुविधाओं पर पड़ता है जिनमें saturation का इस्तेमाल किया गया है. अगर हो सके, तो बेहतर होगा कि आप color स्टाइलर का इस्तेमाल करें.

  • gamma (0.01 और 10.0 के बीच की फ़्लोटिंग पॉइंट वैल्यू, जहां 1.0 कोई सुधार लागू नहीं करता) से पता चलता है कि एलिमेंट पर कितना गामा सुधार लागू करना है. गामा सुधार, रंगों के हल्केपन में अरैखिक तरीके से बदलाव करते हैं. हालांकि, इनसे सफ़ेद या काली वैल्यू पर असर नहीं पड़ता. आम तौर पर, कई एलिमेंट के कंट्रास्ट में बदलाव करने के लिए, गैमा सुधार का इस्तेमाल किया जाता है. उदाहरण के लिए, एलिमेंट के किनारों और अंदरूनी हिस्सों के बीच कंट्रास्ट को बढ़ाने या घटाने के लिए, गामा में बदलाव किया जा सकता है.

    ध्यान दें: यह विकल्प, गामा कर्व का इस्तेमाल करके, Google के डिफ़ॉल्ट स्टाइल के हिसाब से, हल्केपन को अडजस्ट करता है. अगर Google, बुनियादी मैप की स्टाइल में कोई बदलाव करता है, तो उन बदलावों का असर आपके मैप की उन सुविधाओं पर पड़ता है जिनमें gamma का इस्तेमाल किया गया है. अगर हो सके, तो बेहतर होगा कि आप color स्टाइलर का इस्तेमाल करें.

  • invert_lightness (अगर true) मौजूदा लाइटनेस को उलट देता है. उदाहरण के लिए, सफ़ेद टेक्स्ट वाले गहरे रंग के मैप पर तुरंत स्विच करने के लिए, यह सुविधा काम की है.

    ध्यान दें: यह विकल्प, Google के डिफ़ॉल्ट स्टाइल को सिर्फ़ उलट देता है. अगर Google, बेस मैप के स्टाइल में कोई बदलाव करता है, तो उन बदलावों का असर आपके मैप की उन सुविधाओं पर पड़ता है जिनमें invert_lightness का इस्तेमाल किया गया है. अगर हो सके, तो बेहतर होगा कि आप color स्टाइलर का इस्तेमाल करें.

  • visibility (on, off या simplified) से पता चलता है कि एलिमेंट, मैप पर दिखता है या नहीं और अगर दिखता है, तो कैसे दिखता है. simplified विज़िबिलिटी से, जिन फ़ीचर पर असर पड़ा है उनसे कुछ स्टाइल फ़ीचर हट जाते हैं. उदाहरण के लिए, सड़कों को बिना आउटलाइन वाली पतली लाइनों में बदल दिया जाता है. वहीं, पार्क के लेबल का टेक्स्ट हट जाता है, लेकिन लेबल आइकॉन बना रहता है.
  • color (#RRGGBB फ़ॉर्मैट की आरजीबी हेक्स स्ट्रिंग), सुविधा का रंग सेट करता है.
  • weight (पूर्णांक वैल्यू, जो शून्य से ज़्यादा या उसके बराबर हो) से, पिक्सल में फ़ीचर का वज़न सेट होता है. वज़न को ज़्यादा वैल्यू पर सेट करने से, टाइल के बॉर्डर के आस-पास का हिस्सा कट सकता है.

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

ध्यान दें: क्रम ज़रूरी है, क्योंकि कुछ ऑपरेशन कम्यूटेट नहीं होते. आम तौर पर, स्टाइल ऑपरेशन की मदद से बदली गई सुविधाओं और/या एलिमेंट में पहले से ही मौजूदा स्टाइल होती हैं. अगर मौजूदा स्टाइल मौजूद हैं, तो कार्रवाइयां उन पर लागू होती हैं.

ह्यू, सैचुरेशन, लाइटनेस मॉडल

स्टाइल वाले मैप, स्टाइलर ऑपरेशन में रंग दिखाने के लिए, ह्यू, संतृप्ति, और हल्केपन (एचएसएल) मॉडल का इस्तेमाल करते हैं. ह्यू से मूल रंग का पता चलता है, सैचुरेशन से उस रंग की तीव्रता का पता चलता है, और लाइटनेस से पता चलता है कि रंग में सफ़ेद या काले रंग की मात्रा कितनी है.

गैमा सुधार, कलर स्पेस में लाइटनेस में बदलाव करता है. आम तौर पर, ऐसा कंट्रास्ट को बढ़ाने या घटाने के लिए किया जाता है. इसके अलावा, एचएसएल मॉडल, रंग को कोऑर्डिनेट स्पेस में तय करता है. इसमें hue, कलर व्हील में ओरिएंटेशन दिखाता है. वहीं, संतृप्ति और हल्केपन से अलग-अलग अक्षों के साथ ऐम्प्लिटी दिखाती है. रंगों को आरजीबी कलर स्पेस में मेज़र किया जाता है. यह ज़्यादातर आरजीबी कलर स्पेस से मिलता-जुलता है. हालांकि, इसमें सफ़ेद और काले रंग के शेड मौजूद नहीं होते.

ह्यू, सैचुरेशन, लाइटनेस मॉडल

hue, एचटीएमएल हेक्स कलर वैल्यू लेता है. हालांकि, यह वैल्यू सिर्फ़ बुनियादी रंग तय करने के लिए इस्तेमाल की जाती है. इसका मतलब है कि कलर व्हील में इसका ओरिएंटेशन, न कि इसका संतृप्ति या हल्कापन. इनका पता, प्रतिशत में बदलाव के तौर पर अलग से लगाया जाता है.

उदाहरण के लिए, गहरे हरे रंग के लिए ह्यू को hue:0x00ff00 या hue:0x000100 के तौर पर तय किया जा सकता है. दोनों रंग एक जैसे हों. एचएसएल कलर मॉडल में, दोनों वैल्यू एकदम हरे रंग की हैं.

आरजीबी कलर व्हील

आरजीबी hue वैल्यू में लाल, हरे, और नीले रंग के बराबर हिस्से होते हैं. इनसे रंग की जानकारी नहीं मिलती, क्योंकि इनमें से कोई भी वैल्यू, एचएसएल कोऑर्डिनेट स्पेस में ओरिएंटेशन नहीं दिखाती. उदाहरण के लिए, "#000000" (काला), "#FFFFFF" (सफ़ेद), और स्लेटी के सभी शैड. काले, सफ़ेद या स्लेटी रंग के लिए, आपको सभी saturation हटाने होंगे (वैल्यू को -100 पर सेट करें) और इसके बजाय lightness में बदलाव करना होगा.

इसके अलावा, जिन मौजूदा सुविधाओं में पहले से कलर स्कीम है उनमें बदलाव करते समय, hue जैसी वैल्यू बदलने से, उसकी मौजूदा saturation या lightness में कोई बदलाव नहीं होता.