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

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

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