خرائط ذات نمط

يمكنك تخصيص طريقة عرض خريطة Google العادية من خلال تطبيق أنماطك الخاصة عند استخدام Maps Static API. يمكنك تغيير العرض المرئي للميزات، مثل الطرق والمتنزهات والمناطق المبنية ونقاط الاهتمام الأخرى. يمكنك تغيير لونها أو نمطها لتسليط الضوء على محتوى معيّن، أو لتكمّل المحتوى المحيط بها على الصفحة، أو حتى لإخفاء ميزات معيّنة تمامًا.

أمثلة

يعرض المثال التالي خريطة لبروكلين في الولايات المتحدة، مع تطبيق أنماط لتلوين الطرق المحلية باللون الأخضر الفاتح والمناطق السكنية باللون الأسود. ويؤدي ذلك أيضًا إلى عكس درجة سطوع التصنيفات، ما يجعلها تظهر بشكل أكثر بروزًا على الخلفية الداكنة. يُرجى العِلم أنّ هذا المثال العملي يستخدم ترميز عناوين URL:

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 في عنوان URL للطلب.

قد يحتوي كل بيان style على الوسيطات التالية، المفصولة بأحرف الأنابيب ("|"):

  • feature (اختياري) يشير إلى الميزات التي سيتم اختيارها لتعديل هذا النمط. تشمل العناصر كل ما يظهر على الخريطة، مثل الطرق أو المتنزهات أو نقاط الاهتمام الأخرى. في حال عدم توفّر وسيطة feature، ينطبق النمط المحدّد على جميع العناصر.
  • element (اختياري) يشير إلى عناصر الميزة المحدّدة التي سيتم اختيارها لتعديل هذا النمط. العناصر هي خصائص مميّزة، مثل الهندسة أو التصنيفات. في حال عدم توفّر وسيط element، ينطبق النمط على جميع عناصر الميزة المحدّدة.
  • مجموعة من قواعد الأنماط (إلزامية) يتم تطبيقها على الميزات والعناصر المحدّدة. تطبِّق واجهة برمجة التطبيقات القواعد بالترتيب الذي تظهر به في بيان style. يمكنك تضمين أي عدد من القواعد، ضمن قيود طول عنوان URL العادية في 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. من الأفضل استخدام أداة التنسيق المطلقة 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 (قيمة عددية أكبر من أو تساوي صفرًا) وزن الميزة بالبكسل. قد يؤدي ضبط الوزن على قيمة عالية إلى حدوث قص بالقرب من حدود المربّعات.

يتم تطبيق قواعد النمط بالترتيب الذي تحدّده. لا تدمج عمليات متعددة في عملية نمط واحدة. بدلاً من ذلك، حدِّد كل عملية كإدخال منفصل في مصفوفة الأنماط.

ملاحظة: الترتيب مهم، لأنّ بعض العمليات ليست تبادلية. تتضمّن الميزات و/أو العناصر التي يتم تعديلها من خلال عمليات الأنماط (عادةً) أنماطًا حالية. وتعمل العمليات على هذه الأنماط الحالية، إذا كانت متوفّرة.

نموذج درجة اللون والتشبّع والإضاءة

تستخدم الخرائط ذات الأنماط نموذج درجة اللون والتشبّع والسطوع (HSL) للإشارة إلى اللون ضمن عمليات أداة التنسيق. يشير تدرّج اللون إلى اللون الأساسي، وتشير درجة التشبع إلى كثافة هذا اللون، وتشير درجة الإضاءة إلى الكمية النسبية من الأبيض أو الأسود في اللون المكوِّن.

يعدّل تصحيح غاما مستوى الإضاءة في مساحة الألوان، وعادةً ما يتم ذلك لزيادة التباين أو تقليله. بالإضافة إلى ذلك، يحدّد نموذج HSL اللون ضمن مساحة إحداثيات حيث يشير hue إلى الاتجاه ضمن عجلة الألوان، بينما يشير التشبع والسطوع إلى السعات على طول محاور مختلفة. يتم قياس درجات الألوان ضمن مساحة ألوان تستند إلى النموذج اللوني أحمر أخضر أزرق (RGB)، وهي تشبه معظم مساحات الألوان المستندة إلى النموذج اللوني أحمر أخضر أزرق (RGB)، باستثناء أنّها لا تتضمّن درجات الأبيض والأسود.

نموذج درجة اللون والتشبّع والإضاءة

في حين أنّ hue تأخذ قيمة لون ست عشرية بتنسيق HTML، إلا أنّها تستخدم هذه القيمة فقط لتحديد اللون الأساسي، أي اتجاهه حول عجلة الألوان، وليس تشبّعه أو سطوعه، اللذين يتم تحديدهما بشكل منفصل كتغييرات نسبية.

على سبيل المثال، يمكنك تحديد درجة اللون الأخضر النقي على النحو التالي: hue:0x00ff00 أو hue:0x000100. كلا اللونين متطابقان. تشير كلتا القيمتين إلى اللون الأخضر النقي في نموذج ألوان HSL.

عجلة ألوان RGB

لا تشير قيم RGB hue التي تتألف من أجزاء متساوية من الأحمر والأخضر والأزرق إلى درجة لون، لأنّ أيًا من هذه القيم لا يشير إلى اتجاه في مساحة إحداثيات HSL. تشمل الأمثلة "#000000" (أسود) و"#FFFFFF" (أبيض) وجميع درجات الرمادي النقية. للإشارة إلى اللون الأسود أو الأبيض أو الرمادي، عليك إزالة كل saturation (ضبط القيمة على -100) وتعديل lightness بدلاً من ذلك.

بالإضافة إلى ذلك، عند تعديل ميزات حالية تتضمّن نظام ألوان، لن يؤدي تغيير قيمة مثل hue إلى تغيير saturation أو lightness الحاليَين.