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

Maps Static API का इस्तेमाल करते समय, 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

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

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

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

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

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

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

The following style declaration applies two style rules to the roads on the map. पहले नियम से, सड़कों को रंग दिया जाता है. दूसरे नियम से, सड़कों के डिसप्ले को आसान बनाया जाता है, ताकि वे बिना आउटलाइन वाली पतली लाइनों के तौर पर दिखें:

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

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

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

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

    ध्यान दें: इस विकल्प से, ह्यू सेट किया जाता है. साथ ही, डिफ़ॉल्ट Google स्टाइल (या मैप पर तय किए गए स्टाइल के अन्य विकल्पों) में तय किया गया सैचुरेशन और लाइटनेस बरकरार रहता है. नतीजा देने वाला रंग, बुनियादी मैप की स्टाइल के हिसाब से तय होता है. अगर Google, बुनियादी मैप की स्टाइल में कोई बदलाव करता है, तो उन बदलावों का असर आपके मैप की उन सुविधाओं पर पड़ता है जिनकी स्टाइलिंग hue का इस्तेमाल करके की गई है. अगर संभव हो, तो एब्सोल्यूट 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) से पता चलता है कि एलिमेंट, मैप पर दिखता है या नहीं और कैसे दिखता है. A simplified विज़िबिलिटी से, असर वाली सुविधाओं से स्टाइल की कुछ सुविधाएं हट जाती हैं. उदाहरण के लिए, सड़कों को बिना आउटलाइन वाली पतली लाइनों में आसान बनाया जाता है. वहीं, पार्कों से उनके लेबल का टेक्स्ट हट जाता है, लेकिन लेबल का आइकॉन बरकरार रहता है.
  • color (आरजीबी हेक्स स्ट्रिंग, जिसका फ़ॉर्मैट #RRGGBB) से, सुविधा का रंग सेट किया जाता है.
  • weight (इंटीजर वैल्यू, जो शून्य से ज़्यादा या उसके बराबर होती है) से सुविधा का वेट पिक्सल में सेट किया जाता है. वेट को ज़्यादा वैल्यू पर सेट करने से, टाइल के बॉर्डर के पास क्लिप करने की समस्या हो सकती है.

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

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

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

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

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

ह्यू, रंग का गहरा या फीका होना, लाइटनेस मॉडल

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

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

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

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

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