الدليل المرجعي لمخطط StylesObject للخرائط الديناميكية

StylesObject عبارة عن مصفوفة StyleObject تمثل أنماط مجموعة الحالة. استخدم خدمة Azure Maps Creator Feature State Service لتطبيق أنماط الحالة الخاصة بك على ميزات بيانات الخرائط الداخلية. بمجرد إنشاء أنماط مجموعة الحالات الخاصة بك وربطها بميزات الخريطة الداخلية، يمكنك استخدامها لإنشاء خرائط داخلية ديناميكية. لمزيدٍ من المعلومات حول إنشاء خرائط داخلية ديناميكية، راجع تنفيذ التصميم الديناميكي للخرائط الداخلية للمبدعين.

StyleObject

تعد StyleObject إحدى قواعد النمط التالية:

يعرض JSON التالي مثالا لاستخدام كل نوع من أنواع الأنماط الثلاثة. يتم استخدام BooleanTypeStyleRule لتحديد النمط الديناميكي للعناصر التي تكون خاصيتها occupied صحيحة وخاطئة. يتم استخدام NumericTypeStyleRule لتحديد نمط المواضع التي تقع خصائصها temperature ضمن نطاق معين. وأخيراً، StringTypeStyleRule يتم استخدام لمطابقة أنماط معينة مع meetingType.

 "styles": [
     {
        "keyname": "occupied",
        "type": "boolean",
        "rules": [
            {
                "true": "#FF0000",
                "false": "#00FF00"
            }
        ]
    },
    {
        "keyname": "temperature",
        "type": "number",
        "rules": [
             {
                "range": {
                "minimum": 50,
                "exclusiveMaximum": 70
                },
                "color": "#343deb"
            },
            {
                "range": {
                "maximum": 70,
                "exclusiveMinimum": 30
              },
              "color": "#eba834"
            }
        ]
    },
    {
      "keyname": "meetingType",
      "type": "string",
      "rules": [
        {
          "private": "#FF0000",
          "confidential": "#FF00AA",
          "allHands": "#00FF00",
          "brownBag": "#964B00"
        }
      ]
    }
]

NumericTypeStyleRule

NumericTypeStyleRule هو StyleObject ويتكون من الخصائص التالية:

الخاصية نوع الوصف مطلوب
keyName سلسلة اسم الحالة أو الخاصية الديناميكية. يجب أن يكون keyName فريداً داخل مصفوفة StyleObject. ‏‏نعم‬
type سلسلة القيمة هي numeric. ‏‏نعم‬
rules NumberRuleObject مصفوفة من نطاقات الأنماط الرقمية ذات الألوان المرتبطة. يحدد كل نطاق اللون الذي سيتم استخدامه عندما تفي قيمة الحالة بالنطاق. ‏‏نعم‬

NumberRuleObject

يتكون NumberRuleObject من RangeObject خاصية وcolor. إذا كانت قيمة الحالة تقع في النطاق، فإن لونها للعرض هو اللون المحدد في الخاصية color .

إذا حددت عدة نطاقات متداخلة، فسيكون اللون المختار هو اللون المحدد في النطاق الأول الذي يتم استيفاؤه.

في نموذج JSON التالي، يحتفظ كلا النطاقين بالقيمة true عندما تكون قيمة الحالة بين 50-60. ومع ذلك، فإن اللون المستخدم هو #343deb لأنه النطاق الأول في القائمة الذي تم استيفاءه.


    {
        "rules":[
            {
                "range": {
                "minimum": 50,
                "exclusiveMaximum": 70
                },
                "color": "#343deb"
            },
            {
                "range": {
                "minimum": 50,
                "maximum": 60
                },
                "color": "#eba834"
            }
        ]
    }
]
الخاصية نوع الوصف مطلوب
range RangeObject يحدد RangeObject مجموعة من شروط النطاق المنطقي، والتي إذا كانت true، تغير لون عرض الحالة إلى اللون المحدد في الخاصية color. إذا range لم يكن محددا، فسيتم استخدام اللون المحدد في الخاصية color دائما. لا
color سلسلة اللون المراد استخدامه عندما تقع قيمة الحالة في النطاق. color الخاصية هي سلسلة JSON بأي من التنسيقات التالية:
  • قيم سداسية على غرار HTML
  • RGB ("#ff0", "#ffff00", "rgb(255, 255, 0)")
  • RGBA ("rgba(255, 255, 0, 1)")
  • HSL("hsl(100, 50%, 50%)")
  • HSLA("hsla(100, 50%, 50%, 1)")
  • أسماء ألوان HTML محددة مسبقاً، مثل الأصفر والأزرق.
‏‏نعم‬

RangeObject

يحدد RangeObject قيمة النطاق الرقمي لـ NumberRuleObject. لكي تقع قيمة الحالة في النطاق، يجب أن تظل جميع الشروط المحددة صحيحة.

الخاصية نوع الوصف مطلوب
minimum مزدوج جميع الأرقام x التي x ≥ minimum. لا
maximum مزدوج جميع الأرقام x التي x ≤ maximum. لا
exclusiveMinimum مزدوج جميع الأرقام x التي x >exclusiveMinimum. لا
exclusiveMaximum مزدوج جميع الأرقام x التي x <exclusiveMaximum. لا

مثال على NumericTypeStyleRule

يوضح JSON التالي NumericTypeStyleRuleحالة تسمى temperature. في هذا المثال، NumberRuleObject يحتوي على نطاقين محددين لدرجة الحرارة وأنماط الألوان المقترنة بها. إذا كان نطاق درجة الحرارة 50-69، يجب أن يستخدم جهاز العرض اللون #343deb. إذا كان نطاق درجة الحرارة 31-70، يجب أن يستخدم جهاز العرض اللون #eba834.

{
    "keyname": "temperature",
    "type": "number",
    "rules":[
        {
            "range": {
            "minimum": 50,
            "exclusiveMaximum": 70
            },
            "color": "#343deb"
        },
        {
            "range": {
            "maximum": 70,
            "exclusiveMinimum": 30
            },
            "color": "#eba834"
        }
    ]
}

StringTypeStyleRule

StringTypeStyleRule هو StyleObject ويتكون من الخصائص التالية:

الخاصية نوع الوصف مطلوب
keyName سلسلة اسم الحالة أو الخاصية الديناميكية. يجب أن يكون keyName فريداً داخل مصفوفة StyleObject. ‏‏نعم‬
type سلسلة القيمة هي string. ‏‏نعم‬
rules StringRuleObject مصفوفة من عدد N من قيم الحالة. ‏‏نعم‬

StringRuleObject

يتكون StringRuleObject من عدد يصل إلى N من قيم الحالة التي تمثل قيم السلسلة المحتملة لخاصية المعلم. إذا لم تتطابق قيمة خاصية الميزة مع أي من قيم الحالة المحددة، فلن يكون لهذه الميزة نمط ديناميكي. إذا تم إعطاء قيم الحالة المكررة، فإن الأول له الأسبقية.

مطابقة قيمة السلسلة الحساسة لحالة الأحرف.

الخاصية نوع الوصف مطلوب
stateValue1 سلسلة اللون عندما تكون سلسلة القيمة stateValue1. لا
stateValue2 سلسلة اللون عندما تكون سلسلة القيمة stateValue. لا
stateValueN سلسلة اللون عندما تكون سلسلة القيمة stateValueN. لا

مثال على StringTypeStyleRule

يوضح StringTypeStyleRule JSON التالي الذي يحدد الأنماط المقترنة بأنواع اجتماعات معينة.

    {
      "keyname": "meetingType",
      "type": "string",
      "rules": [
        {
          "private": "#FF0000",
          "confidential": "#FF00AA",
          "allHands": "#00FF00",
          "brownBag": "#964B00"
        }
      ]
    }

BooleanTypeStyleRule

BooleanTypeStyleRule هو StyleObject ويتكون من الخصائص التالية:

الخاصية نوع الوصف مطلوب
keyName سلسلة اسم الحالة أو الخاصية الديناميكية. يجب أن يكون keyName فريداً داخل مصفوفة StyleObject. ‏‏نعم‬
type سلسلة القيمة هي boolean. ‏‏نعم‬
rules BooleanRuleObject زوج منطقي بألوان لقيم true وfalseالحالة. ‏‏نعم‬

BooleanRuleObject

يحدد BooleanRuleObject الألوان لقيمتي true وfalse.

الخاصية نوع الوصف مطلوب
true سلسلة اللون الذي يجب استخدامه عندما تكون قيمة الحالة هي true. color الخاصية هي سلسلة JSON بأي من التنسيقات التالية:
  • قيم سداسية على غرار HTML
  • RGB ("#ff0", "#ffff00", "rgb(255, 255, 0)")
  • RGBA ("rgba(255, 255, 0, 1)")
  • HSL("hsl(100, 50%, 50%)")
  • HSLA("hsla(100, 50%, 50%, 1)")
  • أسماء ألوان HTML محددة مسبقاً، مثل الأصفر والأزرق.
‏‏نعم‬
false سلسلة اللون الذي يجب استخدامه عندما تكون قيمة الحالة هي false. ‏‏نعم‬

مثال على BooleanTypeStyleRule

يوضح JSON التالي BooleanTypeStyleRuleحالة تسمى occupied. يحدد BooleanRuleObject الألوان لقيمتي true وfalse.

{
    "keyname": "occupied",
    "type": "boolean",
    "rules": [
    {
        "true": "#FF0000",
        "false": "#00FF00"
    }
    ]
}

الخطوات التالية

تعرف على المزيد حول Creator للخرائط الداخلية من خلال قراءة: