خرائط ذات نمط

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

أمثلة

يوضّح المثال التالي خريطة لمدينة "بروكلين" في الولايات المتحدة الأمريكية، تحمل أنماطًا ملوّنة للطرق المحلية باللون الأخضر الزاهي والمناطق السكنية. وتعكس هذه الميزة أيضًا درجة إضاءة التصنيفات، بحيث تتميز بشكل أفضل عن الخلفية الداكنة. يُرجى العلم بأنّ هذا المثال النشط يستخدم ترميز عنوان 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 في 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 (سلسلة سداسية عشرية بتنسيق RGB #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 (سلسلة التنسيق السداسي العشري بتنسيق RGB #RRGGBB) تضبط لون الميزة.
  • weight (قيمة عدد صحيح أكبر من أو تساوي صفر) تضبط وزن الميزة بالبكسل. وقد يؤدي ضبط الوزن على قيمة عالية إلى اقتصاصها بالقرب من حدود المربّعات.

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

ملاحظة: إنّ الطلب مهمّ، لأنّ بعض العمليات غير قابلة للتغيير. تحتوي العناصر و/أو العناصر التي يتم تعديلها من خلال عمليات النمط (عادةً) على أنماط حالية. وتعتمد الإجراءات على هذه الأنماط الحالية، إن وجدت.

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

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

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

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

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

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

عجلة الألوان RGB

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

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