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

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

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