स्टाइल किए गए मैप

मैप स्टैटिक एपीआई का इस्तेमाल करते समय अपनी खुद की स्टाइल लागू करके स्टैंडर्ड 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

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

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

  • 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 में कोई बदलाव नहीं होता.