تعبيرات النمط المستندة إلى البيانات (Web SDK)
تمكنك التعبيرات من تطبيق منطق العمل على خيارات التصميم التي تراقب الخصائص المحددة في كل شكل في مصدر بيانات. يمكن للتعبيرات تصفية البيانات في مصدر بيانات أو طبقة. قد تتكون التعبيرات من منطق شرطي ، مثل إذا كانت العبارات. ويمكن استخدامها لمعالجة البيانات باستخدام: مشغلي السلاسل ، والمشغلين المنطقيين ، والمشغلين الرياضيين.
تقلل الأنماط المستندة إلى البيانات من مقدار التعليمات البرمجية اللازمة لتنفيذ منطق الأعمال حول التصميم. عند استخدامها مع الطبقات، يتم تقييم التعبيرات في وقت العرض على مؤشر ترابط منفصل. توفر هذه الوظيفة أداء متزايدا مقارنة بتقييم منطق العمل على مؤشر ترابط واجهة المستخدم.
يقدم هذا الفيديو نظرة عامة على التصميم المستند إلى البيانات في خرائط Azure Web SDK.
يتم تمثيل التعبيرات كمصفوفات JSON. العنصر الأول من التعبير في الصفيف هو سلسلة تحدد اسم عامل تشغيل التعبير. على سبيل المثال ، "+" أو "حالة". العناصر التالية (إن وجدت) هي حجج التعبير. كل وسيطة هي إما قيمة حرفية (سلسلة أو رقم أو منطقي أو ) أو nullصفيف تعبير آخر. يحدد الرمز الزائف التالي البنية الأساسية للتعبير.
[
expression_operator,
argument0,
argument1,
…
]
تدعم خرائط Azure Web SDK العديد من أنواع التعبيرات. يمكن استخدام التعبيرات بمفردها أو بالاشتراك مع تعبيرات أخرى.
| نوع التعبيرات | الوصف |
|---|---|
| التعبير التجميعي | تعبير يحدد عملية حسابية تتم معالجتها عبر مجموعة من البيانات ويمكن استخدامها مع clusterProperties خيار DataSource. |
| التعبيرات المنطقية | توفر التعبيرات المنطقية مجموعة من تعبيرات المشغلين المنطقيين لتقييم المقارنات المنطقية. |
| تعبيرات الألوان | تسهل تعبيرات الألوان إنشاء قيم الألوان ومعالجتها. |
| التعبيرات الشرطية | توفر التعبيرات الشرطية عمليات منطقية تشبه عبارات if. |
| تعبيرات البيانات | يوفر الوصول إلى بيانات الموقع في ميزة. |
| تعابير الاستبانة والخطوات | يمكن استخدام تعبيرات الاستبانة والخطوة لحساب القيم على طول منحنى مستنبط أو دالة خطوة. |
| تعبيرات خاصة بالطبقة | التعبيرات الخاصة التي تنطبق فقط على طبقة واحدة. |
| تعبيرات الرياضيات | يوفر عوامل تشغيل رياضية لإجراء عمليات حسابية تعتمد على البيانات داخل إطار التعبير. |
| تعبيرات عامل تشغيل السلسلة | تقوم تعبيرات مشغل السلسلة بإجراء عمليات تحويل على سلاسل مثل تسلسل الحالة وتحويلها. |
| كتابة التعبيرات | توفر تعبيرات الكتابة أدوات لاختبار أنواع البيانات المختلفة وتحويلها مثل السلاسل والأرقام والقيم المنطقية. |
| تعبيرات الربط المتغيرة | تخزن تعبيرات ربط المتغيرات نتائج عملية حسابية في متغير ويشار إليها في مكان آخر في تعبير عدة مرات دون الحاجة إلى إعادة حساب القيمة المخزنة. |
| تعبير التكبير/التصغير | استرداد مستوى التكبير/التصغير الحالي للخريطة في وقت العرض. |
تستخدم جميع الأمثلة الواردة في هذا المستند الميزة التالية لتوضيح الطرق المختلفة التي يمكن من خلالها استخدام أنواع التعبيرات المختلفة.
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-122.13284, 47.63699]
},
"properties": {
"id": 123,
"entityType": "restaurant",
"revenue": 12345,
"subTitle": "Building 40",
"temperature": 64,
"title": "Cafeteria",
"zoneColor": "purple",
"abcArray": ["a", "b", "c"],
"array2d": [["a", "b"], ["x", "y"]],
"_style": {
"fillColor": "red"
}
}
}
تعبيرات البيانات
توفر تعبيرات البيانات الوصول إلى بيانات الخاصية في ميزة.
| Expression | نوع الإرجاع | الوصف |
|---|---|---|
['at', number, array] |
القيمة | استرداد عنصر من صفيف. |
['geometry-type'] |
سلسلة | يحصل على نوع هندسة الميزة: نقطة، نقطة متعددة، LineString، MultiLineString، مضلع، مضلع متعدد. |
['get', string] |
القيمة | يحصل على قيمة الخاصية من خصائص الميزة الحالية. إرجاع لاغية إذا كانت الخاصية المطلوبة مفقودة. |
['get', string, object] |
القيمة | يحصل على قيمة الخاصية من خصائص الكائن المقدم. إرجاع لاغية إذا كانت الخاصية المطلوبة مفقودة. |
['has', string] |
منطقي | يحدد ما إذا كانت خصائص المعلم تحتوي على الخاصية المحددة. |
['has', string, object] |
منطقي | يحدد ما إذا كانت خصائص الكائن لها الخاصية المحددة. |
['id'] |
القيمة | يحصل على معرف الميزة إذا كان يحتوي على واحد. |
['in', boolean | string | number, array] |
منطقي | تحديد ما إذا كان عنصر موجودا في صفيف أم لا |
['in', substring, string] |
منطقي | تحديد ما إذا كانت سلسلة فرعية موجودة في سلسلة أم لا |
['index-of', boolean | string | number, array | string]['index-of', boolean | string | number, array | string, number] |
العدد | ترجع هذه الدالة الموضع الأول الذي يمكن العثور فيه على عنصر في صفيف أو يمكن العثور على سلسلة فرعية في سلسلة، أو -1 إذا تعذر العثور على الإدخال. يقبل فهرسا اختياريا من حيث يبدأ البحث. |
['length', string | array] |
العدد | يحصل على طول سلسلة أو صفيف. |
['slice', array | string, number]['slice', array | string, number, number] |
سلسلة | صفيف | ترجع هذه الدالة عنصرا من صفيف أو سلسلة فرعية من سلسلة من فهرس بدء محدد، أو بين فهرس بداية وفهرس نهاية إذا تم تعيينه. تشمل قيمة العائد مؤشر البداية ولكن ليس مؤشر النهاية. |
أمثلة
يمكن الوصول إلى خصائص المعلم مباشرة في تعبير باستخدام get تعبير. يستخدم zoneColor هذا المثال قيمة المعلم لتعيين خاصية اللون لطبقة فقاعة.
var layer = new atlas.layer.BubbleLayer(datasource, null, {
color: ['get', 'zoneColor'] //Get the zoneColor value.
});
سيعمل المثال أعلاه بشكل جيد ، إذا كانت جميع ميزات النقطة تحتوي على zoneColor الخاصية. إذا لم يفعلوا ذلك ، فمن المحتمل أن يعود اللون إلى "الأسود". لتعديل اللون الاحتياطي، استخدم تعبيرا مقترنا case بالتعبير has للتحقق مما إذا كانت الخاصية موجودة. إذا لم تكن الخاصية موجودة، فقم بإرجاع لون احتياطي.
var layer = new atlas.layer.BubbleLayer(datasource, null, {
color: [
'case', //Use a conditional case expression.
['has', 'zoneColor'], //Check to see if feature has a "zoneColor" property
['get', 'zoneColor'], //If it does, use it.
'blue' //If it doesn't, default to blue.
]
});
ستقوم طبقات الفقاعات والرموز بعرض إحداثيات كل الأشكال في مصدر بيانات، بشكل افتراضي. يمكن أن يؤدي هذا السلوك إلى تمييز رؤوس مضلع أو خط. filter يمكن استخدام خيار الطبقة للحد من نوع الهندسة للمعالم التي يقدمها، باستخدام ['geometry-type'] تعبير داخل تعبير منطقي. يحد المثال التالي من طبقة فقاعة بحيث يتم عرض المعالم فقط Point .
var layer = new atlas.layer.BubbleLayer(datasource, null, {
filter: ['==', ['geometry-type'], 'Point']
});
يسمح المثال التالي بعرض كل من PointMultiPoint الميزات.
var layer = new atlas.layer.BubbleLayer(datasource, null, {
filter: ['any', ['==', ['geometry-type'], 'Point'], ['==', ['geometry-type'], 'MultiPoint']]
});
وبالمثل ، سيتم عرض مخطط المضلعات في طبقات الخط. لتعطيل هذا السلوك في طبقة خط، أضف عامل تصفية يسمح LineString ويميز MultiLineString فقط.
فيما يلي بعض الأمثلة الإضافية حول كيفية استخدام تعبيرات البيانات:
//Get item [2] from an array "properties.abcArray[1]" = "c"
['at', 2, ['get', 'abcArray']]
//Get item [0][1] from a 2D array "properties.array2d[0][1]" = "b"
['at', 1, ['at', 0, ['get', 'array2d']]]
//Check to see if a value is in an array "properties.abcArray.indexOf('a') !== -1" = true
['in', 'a', ['get', 'abcArray']]
//Gets the index of the value 'b' in an array "properties.abcArray.indexOf('b')" = 1
['index-of', 'b', ['get', 'abcArray']]
//Get the length of an array "properties.abcArray.length" = 3
['length', ['get', 'abcArray']]
//Get the value of a subproperty "properties._style.fillColor" = "red"
['get', 'fillColor', ['get', '_style']]
//Check that "fillColor" exists as a subproperty of "_style".
['has', 'fillColor', ['get', '_style']]
//Slice an array starting at index 2 "properties.abcArray.slice(2)" = ['c']
['slice', ['get', 'abcArray'], 2]
//Slice a string from index 0 to index 4 "properties.entityType.slice(0, 4)" = 'rest'
['slice', ['get', 'entityType'], 0, 4]
تعبيرات الرياضيات
توفر تعبيرات الرياضيات عوامل تشغيل رياضية لإجراء عمليات حسابية تعتمد على البيانات داخل إطار التعبير.
| Expression | نوع الإرجاع | الوصف |
|---|---|---|
['+', number, number, …] |
العدد | يحسب مجموع الأرقام المحددة. |
['-', number] |
العدد | يطرح 0 في العدد المحدد. |
['-', number, number] |
العدد | طرح الأعداد الأولى في العدد الثاني. |
['*', number, number, …] |
العدد | ضرب الأعداد المحددة معا. |
['/', number, number] |
العدد | يقسم الرقم الأول على الرقم الثاني. |
['%', number, number] |
العدد | يحسب الباقي عند قسمة الرقم الأول على الرقم الثاني. |
['^', number, number] |
العدد | يحسب قيمة القيمة الأولى التي تم رفعها إلى قوة الرقم الثاني. |
['abs', number] |
العدد | يحسب القيمة المطلقة للعدد المحدد. |
['acos', number] |
العدد | يحسب قوس جيب الجيب للعدد المحدد. |
['asin', number] |
العدد | يحسب قوس الجيب للعدد المحدد. |
['atan', number] |
العدد | يحسب ظل الظل المقوس للعدد المحدد. |
['ceil', number] |
العدد | تقريب الرقم لأعلى إلى العدد الصحيح الكامل التالي. |
['cos', number] |
العدد | يحسب cos للعدد المحدد. |
['e'] |
العدد | إرجاع الثابت eالرياضي . |
['floor', number] |
العدد | تقريب الرقم لأسفل إلى العدد الصحيح الكامل السابق. |
['ln', number] |
العدد | يحسب اللوغاريتم الطبيعي للعدد المحدد. |
['ln2'] |
العدد | إرجاع الثابت ln(2)الرياضي . |
['log10', number] |
العدد | يحسب اللوغاريتم العشرة الأساسيين للعدد المحدد. |
['log2', number] |
العدد | يحسب اللوغاريتم الأساسي الثاني للعدد المحدد. |
['max', number, number, …] |
العدد | حساب الحد الأقصى للعدد في مجموعة الأرقام المحددة. |
['min', number, number, …] |
العدد | حساب الحد الأدنى للعدد في مجموعة الأرقام المحددة. |
['pi'] |
العدد | إرجاع الثابت PIالرياضي . |
['round', number] |
العدد | تقريب الرقم إلى أقرب عدد صحيح. يتم تقريب قيم منتصف الطريق بعيدا عن الصفر. على سبيل المثال، ['round', -1.5] يقيم إلى -2. |
['sin', number] |
العدد | يحسب جيب الزاوية للعدد المحدد. |
['sqrt', number] |
العدد | يحسب الجذر التربيعي للعدد المحدد. |
['tan', number] |
العدد | يحسب ظل الظل للعدد المحدد. |
التعبير التجميعي
يحدد التعبير المجمع عملية حسابية تتم معالجتها عبر مجموعة من البيانات ويمكن استخدامها مع clusterProperties خيار DataSource. يجب أن يكون ناتج هذه التعبيرات رقما أو منطقيا.
يأخذ التعبير المجمع ثلاث قيم: قيمة عامل التشغيل، والقيمة الأولية، وتعبير لاسترداد خاصية من كل معلم في بيانات لتطبيق العملية المجمعة عليها. يحتوي هذا التعبير على التنسيق التالي:
[operator: string, initialValue: boolean | number, mapExpression: Expression]
- عامل التشغيل: دالة تعبير يتم تطبيقها بعد ذلك على كل القيم المحسوبة بواسطة
mapExpressionلكل نقطة في المجموعة. المشغلون المدعومون:- للأرقام:
+, ,max, ,*min - للمنطقيين:
all،any
- للأرقام:
- initialValue: قيمة أولية يتم فيها تجميع القيمة المحسوبة الأولى ضد.
- mapExpression: تعبير يتم تطبيقه على كل نقطة في مجموعة البيانات.
أمثلة
إذا كانت جميع الميزات في مجموعة بيانات تحتوي على revenue خاصية، وهي رقم. بعد ذلك ، يمكن حساب إجمالي إيرادات جميع النقاط في مجموعة ، والتي يتم إنشاؤها من مجموعة البيانات. يتم إجراء هذا الحساب باستخدام التعبير الكلي التالي: ['+', 0, ['get', 'revenue']]
التعبير المتراكم
accumulated يحصل التعبير على قيمة خاصية الكتلة المتراكمة حتى الآن. لا يمكن استخدام هذا إلا في clusterProperties خيار مصدر متفاوت المسافات DataSource .
الاستخدام
["accumulated"]
التعبيرات المنطقية
توفر التعبيرات المنطقية مجموعة من تعبيرات المشغلين المنطقيين لتقييم المقارنات المنطقية.
عند مقارنة القيم ، تتم كتابة المقارنة بدقة. تعتبر قيم الأنواع المختلفة دائما غير متساوية. تعتبر الحالات التي يعرف فيها أن الأنواع مختلفة في وقت التحليل غير صالحة وستنتج خطأ في التحليل.
| Expression | نوع الإرجاع | الوصف |
|---|---|---|
['!', boolean] |
منطقي | النفي المنطقي. إرجاع true إذا كان الإدخال ، falsefalse وإذا كان الإدخال .true |
['!=', value, value] |
منطقي | ترجع هذه الدالة true إذا كانت قيم الإدخال غير متساوية، false وإلا. |
['<', value, value] |
منطقي | إرجاع true إذا كان الإدخال الأول أقل تماما من الإدخال الثاني ، false وإلا. يجب أن تكون الوسيطات إما كلا السلسلتين أو كلا الرقمين. |
['<=', value, value] |
منطقي | ترجع هذه الدالة true إذا كان الإدخال الأول أقل من الإدخال الثاني أو مساويا له، false وإلا. يجب أن تكون الوسيطات إما كلا السلسلتين أو كلا الرقمين. |
['==', value, value] |
منطقي | ترجع هذه الدالة true إذا كانت قيم الإدخال متساوية، false وإلا. يجب أن تكون الوسيطات إما كلا السلسلتين أو كلا الرقمين. |
['>', value, value] |
منطقي | إرجاع true إذا كان الإدخال الأول أكبر تماما من الإدخال الثاني ، false وإلا. يجب أن تكون الوسيطات إما كلا السلسلتين أو كلا الرقمين. |
['>=' value, value] |
منطقي | ترجع هذه الدالة إذا كان الإدخال الأول أكبر من الإدخال true الثاني أو مساويا له، false وإلا. يجب أن تكون الوسيطات إما كلا السلسلتين أو كلا الرقمين. |
['all', boolean, boolean, …] |
منطقي | إرجاع true إذا كانت كافة المدخلات ، truefalse وإلا. |
['any', boolean, boolean, …] |
منطقي | إرجاع true إذا كان أي من المدخلات ، truefalse وإلا. |
['within', Polygon | MultiPolygon | Feature<Polygon | MultiPolygon>] |
منطقي | إرجاع true إذا كانت الميزة التي تم تقييمها مضمنة بالكامل داخل حدود هندسة الإدخال، وتكون خاطئة بخلاف ذلك. يمكن أن تكون قيمة الإدخال GeoJSON صالحة من النوع Polygonأو ، Featureأو ، أو MultiPolygonFeatureCollection. الميزات المدعومة للتقييم:- النقطة: ترجع false إذا كانت النقطة على الحدود أو تقع خارج الحدود.- LineString: إرجاع false إذا كان أي جزء من الخط يقع خارج الحدود ، أو يتقاطع الخط مع الحدود ، أو كانت نقطة نهاية الخط على الحدود. |
التعبيرات الشرطية
توفر التعبيرات الشرطية عمليات منطقية تشبه عبارات if.
تقوم التعبيرات التالية بتنفيذ عمليات منطقية شرطية على بيانات الإدخال. على سبيل المثال، case يوفر التعبير منطق "إذا/ثم/آخر" بينما match يكون التعبير مثل "عبارة التبديل".
تعبير الحالة
case التعبير هو نوع من التعبير الشرطي الذي يوفر منطق "إذا/ثم/آخر". يخطو هذا النوع من التعبير عبر قائمة بالشروط المنطقية. ترجع قيمة الإخراج للشرط المنطقي الأول لتقييمه إلى true.
يحدد الرمز الزائف التالي بنية case التعبير.
[
'case',
condition1: boolean,
output1: value,
condition2: boolean,
output2: value,
...,
fallback: value
]
مثال
يخطو المثال التالي عبر شروط منطقية مختلفة حتى يعثر على واحد يقيم إلى ، ثم يقوم بإرجاع trueتلك القيمة المقترنة. إذا لم يتم تقييم أي حالة منطقية إلى true، إرجاع قيمة احتياطية.
var layer = new atlas.layer.BubbleLayer(datasource, null, {
color: [
'case',
//Check to see if the first boolean expression is true, and if it is, return its assigned result.
['has', 'zoneColor'],
['get', 'zoneColor'],
//Check to see if the second boolean expression is true, and if it is, return its assigned result.
['all', ['has', ' temperature '], ['>', ['get', 'temperature'], 100]],
'red',
//Specify a default value to return.
'green'
]
});
تعبير المطابقة
match التعبير هو نوع من التعبير الشرطي الذي يوفر عبارة التبديل مثل المنطق. يمكن أن يكون الإدخال أي تعبير مثل ['get', 'entityType'] الذي يرجع سلسلة أو رقما. يجب أن تكون كل تسمية إما قيمة حرفية واحدة أو مجموعة من القيم الحرفية ، والتي يجب أن تكون قيمها كل السلاسل أو كل الأرقام. يتطابق الإدخال إذا تطابقت أي من القيم الموجودة في الصفيف. يجب أن يكون كل تصنيف فريدا. إذا كان نوع الإدخال لا يتطابق مع نوع التسميات، فستكون النتيجة هي القيمة الاحتياطية.
يحدد الرمز الزائف التالي بنية match التعبير.
[
'match',
input: number | string,
label1: number | string | (number | string)[],
output1: value,
label2: number | string | (number | string)[],
output2: value,
...,
fallback: value
]
أمثلة
ينظر المثال التالي إلى entityType خاصية معلم نقطة في طبقة فقاعة تبحث عن مطابقة. إذا عثر على تطابق، إرجاع تلك القيمة المحددة أو إرجاع القيمة الاحتياطية.
var layer = new atlas.layer.BubbleLayer(datasource, null, {
color: [
'match',
//Get the property to match.
['get', 'entityType'],
//List the values to match and the result to return for each match.
'restaurant', 'red',
'park', 'green',
//Specify a default value to return if no match is found.
'black'
]
});
يستخدم المثال التالي صفيفا لسرد مجموعة من التسميات التي يجب أن ترجع جميعها نفس القيمة. هذا النهج أكثر كفاءة بكثير من إدراج كل علامة على حدة. في هذه الحالة ، إذا كان entityType مكان الإقامة هو مطعم أو grocery_store ، إرجاع اللون الأحمر.
var layer = new atlas.layer.BubbleLayer(datasource, null, {
color: [
'match',
//Get the property to match.
['get', 'entityType'],
//List the values to match and the result to return for each match.
['restaurant', 'grocery_store'], 'red',
'park', 'green',
//Specify a default value to return if no match is found.
'black'
]
});
تعبير التجميع
يخطو coalesce التعبير عبر مجموعة من التعبيرات حتى يتم الحصول على أول قيمة غير فارغة وإرجاع تلك القيمة.
يحدد الرمز الزائف التالي بنية coalesce التعبير.
[
'coalesce',
value1,
value2,
…
]
مثال
يستخدم المثال التالي تعبيرا coalesce لتعيين textField خيار طبقة رمز. إذا كانت title الخاصية مفقودة من الميزة أو تم تعيينها إلى ، فسيحاول التعبير بعد ذلك البحث عن الخاصية ، إذا كانت subTitle مفقودة أو null، فستعود بعد ذلك إلى nullسلسلة فارغة.
var layer = new atlas.layer.SymbolLayer(datasource, null, {
textOptions: {
textField: [
'coalesce',
//Try getting the title property.
['get', 'title'],
//If there is no title, try getting the subTitle.
['get', 'subTitle'],
//Default to an empty string.
''
]
}
});
يستخدم المثال التالي تعبيرا coalesce لاسترداد أول رمز صورة متاح متوفر في عفريت الخريطة من قائمة بأسماء الصور المحددة.
var layer = new atlas.layer.SymbolLayer(datasource, null, {
iconOptions: {
image: [
'coalesce',
//Try getting the image with id 'missing-image'.
['image', 'missing-image'],
//Specify an image id to fallback to.
'marker-blue'
]
}
});
كتابة التعبيرات
توفر تعبيرات الكتابة أدوات لاختبار أنواع البيانات المختلفة وتحويلها مثل السلاسل والأرقام والقيم المنطقية.
| Expression | نوع الإرجاع | الوصف |
|---|---|---|
['array', value] | ['array', type: "string" | "number" | "boolean", value] |
كائن[] | يؤكد أن الإدخال عبارة عن صفيف. |
['boolean', value] | ["boolean", value, fallback: value, fallback: value, ...] |
منطقي | يؤكد أن قيمة الإدخال منطقية. إذا تم توفير قيم متعددة ، يتم تقييم كل منها بالترتيب حتى يتم الحصول على منطقي. إذا لم يكن أي من المدخلات منطقيا ، فإن التعبير خطأ. |
['collator', { 'case-sensitive': boolean, 'diacritic-sensitive': boolean, 'locale': string }] |
التجميع | ترجع هذه الدالة أداة تجميع لاستخدامها في عمليات المقارنة المعتمدة على الإعدادات المحلية. الخيارات الحساسة لحالة الأحرف والحساسة للتشكيل افتراضيا إلى false. تحدد وسيطة الإعدادات المحلية علامة لغة IETF الخاصة بالإعدادات المحلية المراد استخدامها. إذا لم يتم توفير أي منها، استخدام الإعدادات المحلية الافتراضية. إذا لم تكن الإعدادات المحلية المطلوبة متوفرة، فسيستخدم المجمع لغة احتياطية معرفة من قبل النظام. استخدم الإعدادات المحلية التي تم حلها لاختبار نتائج سلوك الإعدادات المحلية الاحتياطية. |
['literal', array]['literal', object] |
| صفيف كائن | إرجاع صفيف حرفي أو قيمة كائن. استخدم هذا التعبير لمنع تقييم صفيف أو كائن كتعبير. هذا ضروري عندما يحتاج صفيف أو كائن إلى إرجاعه بواسطة تعبير. |
['image', string] |
سلسلة | يتحقق لمعرفة ما إذا كان يتم تحميل معرف صورة محدد في عفريت صورة الخرائط. إذا كان الأمر كذلك ، إرجاع المعرف ، وإلا إرجاع null. |
['number', value] | ["number", value, fallback: value, fallback: value, ...] |
العدد | يؤكد أن قيمة الإدخال هي رقم. إذا تم توفير قيم متعددة ، يتم تقييم كل منها بالترتيب حتى يتم الحصول على رقم. إذا لم يكن أي من المدخلات أرقاما ، فإن التعبير خطأ. |
['object', value] | ["object", value, fallback: value, fallback: value, ...] |
عنصر | يؤكد أن قيمة الإدخال هي كائن. إذا تم توفير قيم متعددة ، يتم تقييم كل منها بالترتيب حتى يتم الحصول على كائن. إذا لم يكن أي من المدخلات كائنات، فهذا يعني أن التعبير يمثل خطأ. |
['string', value] | ["string", value, fallback: value, fallback: value, ...] |
سلسلة | يؤكد أن قيمة الإدخال عبارة عن سلسلة. إذا تم توفير قيم متعددة، يتم تقييم كل منها بالترتيب حتى يتم الحصول على سلسلة. إذا لم تكن أي من المدخلات عبارة عن سلاسل ، فإن التعبير خطأ. |
['to-boolean', value] |
منطقي | يحول قيمة الإدخال إلى منطقية. والنتيجة هي false عندما يكون الإدخال عبارة عن سلسلة فارغة ، أو ، أو ، 0nullfalseأو NaN؛ خلاف ذلك .true |
['to-color', value]['to-color', value1, value2…] |
لون | يحول قيمة الإدخال إلى لون. إذا تم توفير قيم متعددة ، يتم تقييم كل منها بالترتيب حتى يتم الحصول على أول تحويل ناجح. إذا لم يكن من الممكن تحويل أي من المدخلات، فهذا يعني أن التعبير يمثل خطأ. |
['to-number', value]['to-number', value1, value2, …] |
العدد | يحول قيمة الإدخال إلى رقم، إن أمكن. إذا كان الإدخال null أو false، فإن النتيجة هي 0. إذا كان الإدخال ، فإن trueالنتيجة هي 1. إذا كان الإدخال عبارة عن سلسلة، تحويله إلى رقم باستخدام وظيفة سلسلة ToNumber الخاصة بمواصفات لغة ECMAScript. إذا تم توفير قيم متعددة ، يتم تقييم كل منها بالترتيب حتى يتم الحصول على أول تحويل ناجح. إذا لم يكن من الممكن تحويل أي من المدخلات، فهذا يعني أن التعبير يمثل خطأ. |
['to-string', value] |
سلسلة | يحول قيمة الإدخال إلى سلسلة. إذا كان الإدخال ، فإن nullالنتيجة هي "". إذا كان الإدخال منطقيا ، فإن النتيجة هي "true" أو "false". إذا كان الإدخال رقما، تحويله إلى سلسلة باستخدام وظيفة رقم ToString الخاصة بمواصفات لغة ECMAScript. إذا كان الإدخال لونا، تحويله إلى سلسلة "rgba(r,g,b,a)"ألوان CSS RGBA. وإلا، يتم تحويل الإدخال إلى سلسلة باستخدام الدالة JSON.stringify الخاصة بمواصفات لغة ECMAScript. |
['typeof', value] |
سلسلة | ترجع هذه الدالة سلسلة تصف نوع القيمة المحددة. |
تلميح
إذا ظهرت رسالة خطأ مشابهة Expression name must be a string, but found number instead. If you wanted a literal array, use ["literal", [...]]. في وحدة تحكم المستعرض، فهذا يعني أن هناك تعبيرا في مكان ما في التعليمات البرمجية يحتوي على صفيف لا يحتوي على سلسلة لقيمته الأولى. إذا كنت تريد أن يقوم التعبير بإرجاع صفيف، فقم بلف الصفيف بالتعبير literal . يقوم المثال التالي بتعيين خيار الأيقونة لطبقة رمز، والتي يجب أن تكون صفيفا يحتوي على رقمين، باستخدام match تعبير للاختيار بين قيمتي إزاحة offset استنادا إلى قيمة entityType خاصية ميزة النقطة.
var layer = new atlas.layer.SymbolLayer(datasource, null, {
iconOptions: {
offset: [
'match',
//Get the entityType value.
['get', 'entityType'],
//If the entity type is 'restaurant', return a different pixel offset.
'restaurant', ['literal', [0, -10]],
//Default to value.
['literal', [0, 0]]
]
}
});
تعبيرات الألوان
تسهل تعبيرات الألوان إنشاء قيم الألوان ومعالجتها.
| Expression | نوع الإرجاع | الوصف |
|---|---|---|
['rgb', number, number, number] |
لون | ينشئ قيمة لون من المكونات الحمراءوالخضراءوالزرقاء التي يجب أن تتراوح بين 0 و 255، ومكون ألفا من .1 إذا كان أي مكون خارج النطاق، فهذا يعني أن التعبير يمثل خطأ. |
['rgba', number, number, number, number] |
لون | ينشئ قيمة لون من مكونات حمراءوخضراءوزرقاء يجب أن تتراوح بين 0 و ، ومكون ألفا ضمن نطاق من 0 و .2551 إذا كان أي مكون خارج النطاق، فهذا يعني أن التعبير يمثل خطأ. |
['to-rgba'] |
[الرقم، الرقم، الرقم، الرقم] | ترجع هذه الدالة صفيفا مكونا من أربعة عناصر يحتوي على مكونات لون الإدخال الأحمروالأخضروالأزرقوألفا ، بهذا الترتيب. |
مثال
ينشئ المثال التالي قيمة لون RGB لها قيمة حمراء ، وقيم خضراءوزرقاء يتم حسابها عن طريق الضرب 2.5 في قيمة 255الخاصيةtemperature. مع تغير درجة الحرارة ، سيتغير اللون إلى ظلال مختلفة من اللون الأحمر.
var layer = new atlas.layer.BubbleLayer(datasource, null, {
color: [
'rgb', //Create a RGB color value.
255, //Set red value to 255.
['*', 2.5, ['get', 'temperature']], //Multiple the temperature by 2.5 and set the green value.
['*', 2.5, ['get', 'temperature']] //Multiple the temperature by 2.5 and set the blue value.
]
});
تعبيرات عامل تشغيل السلسلة
تقوم تعبيرات مشغل السلسلة بإجراء عمليات تحويل على سلاسل مثل تسلسل الحالة وتحويلها.
| Expression | نوع الإرجاع | الوصف |
|---|---|---|
['concat', string, string, …] |
سلسلة | تسلسل سلاسل متعددة معا. يجب أن تكون كل قيمة سلسلة. to-string استخدم تعبير الكتابة لتحويل أنواع القيم الأخرى إلى سلسلة إذا لزم الأمر. |
['downcase', string] |
سلسلة | يحول السلسلة المحددة إلى أحرف صغيرة. |
['is-supported-script', string] | ['is-supported-script', Expression] |
منطقي | يحدد ما إذا كانت سلسلة الإدخال تستخدم مجموعة أحرف مدعومة بمكدس الخطوط الحالي. على سبيل المثال:['is-supported-script', 'ಗೌರವಾರ್ಥವಾಗಿ'] |
['resolved-locale', string] |
سلسلة | ترجع هذه الدالة علامة لغة IETF الخاصة بالإعدادات المحلية التي يستخدمها المجمع المقدم. يمكن استخدام هذا لتحديد الإعدادات المحلية الافتراضية للنظام أو لتحديد ما إذا كان قد تم تحميل الإعدادات المحلية المطلوبة بنجاح. |
['upcase', string] |
سلسلة | تحويل السلسلة المحددة إلى أحرف كبيرة. |
مثال
يحول المثال التالي خاصية temperature معلم النقطة إلى سلسلة ثم يقوم بتسلسل "°F" إلى نهايتها.
var layer = new atlas.layer.SymbolLayer(datasource, null, {
textOptions: {
textField: ['concat', ['to-string', ['get', 'temperature']], '°F'],
//Some additional style options.
offset: [0, -1.5],
size: 12,
color: 'white'
}
});
يعرض التعبير أعلاه دبوسا على الخريطة مع النص "64 درجة فهرنهايت" متراكب فوقه كما هو موضح في الصورة أدناه.

تعابير الاستبانة والخطوات
يمكن استخدام تعبيرات الاستبانة والخطوة لحساب القيم على طول منحنى مستنبط أو دالة خطوة. تأخذ هذه التعبيرات تعبيرا يرجع قيمة رقمية كمدخلات لها ، على سبيل المثال ['get', 'temperature']. يتم تقييم قيمة الإدخال مقابل أزواج من قيم المدخلات والمخرجات، لتحديد القيمة التي تناسب المنحنى أو الدالة التدريجية المستوفية. تسمى قيم الإخراج "التوقفات". يجب أن تكون قيم الإدخال لكل نقطة توقف رقما وأن تكون بترتيب تصاعدي. يجب أن تكون قيم المخرجات رقما، وصفيفا من الأرقام، أو لونا.
التعبير المتداخل
interpolate يمكن استخدام التعبير لحساب مجموعة مستمرة وسلسة من القيم عن طريق الاستيفاء بين قيم الإيقاف. interpolate ينتج التعبير الذي يقوم بإرجاع قيم اللون تدرج لوني يتم فيه تحديد قيم النتائج منه.
هناك ثلاثة أنواع من طرق الاستيفاء التي يمكن استخدامها في interpolate التعبير:
['linear']- يستوعب خطيا بين زوج من التوقفات.['exponential', base]- يستوعب أضعافا مضاعفة بين التوقفات. تتحكمbaseالقيمة في المعدل الذي يزداد به الإخراج. القيم الأعلى تجعل الناتج يزداد أكثر نحو النهاية العليا للنطاق.baseتنتج القيمة القريبة من 1 ناتجا يزداد خطيا أكثر.['cubic-bezier', x1, y1, x2, y2]- يستوعب باستخدام منحنى Bezier مكعب محدد بنقاط التحكم المحددة.
فيما يلي مثال على ما تبدو عليه هذه الأنواع المختلفة من الاستيفاءات.
| طولي | المتزايد | مكعب بيزيه |
|---|---|---|
![]() |
![]() |
![]() |
يحدد الرمز الزائف التالي بنية interpolate التعبير.
[
'interpolate',
interpolation: ['linear'] | ['exponential', base] | ['cubic-bezier', x1, y1, x2, y2],
input: number,
stopInput1: number,
stopOutput1: value1,
stopInput2: number,
stopOutput2: value2,
...
]
مثال
يستخدم المثال التالي تعبيرا linear interpolate لتعيين color خاصية طبقة فقاعة استنادا إلى temperature خاصية معلم النقطة. إذا كانت temperature القيمة أقل من 60 ، إرجاع الأزرق. إذا كان بين 60 وأقل من 70 ، إرجاع اللون الأصفر. إذا كان بين 70 وأقل من 80 ، إرجاع البرتقالي. إذا كان 80 أو أكثر ، إرجاع أحمر.
var layer = new atlas.layer.BubbleLayer(datasource, null, {
color: [
'interpolate',
['linear'],
['get', 'temperature'],
50, 'blue',
60, 'yellow',
70, 'orange',
80, 'red'
]
});
توضح الصورة التالية كيفية اختيار الألوان للتعبير أعلاه.

خطوة التعبير
step يمكن استخدام التعبير لحساب قيم النتائج المنفصلة والمتدرجة من خلال تقييم دالة ثابتة قطعيا محددة بواسطة التوقفات.
يحدد الرمز الزائف التالي بنية step التعبير.
[
'step',
input: number,
output0: value0,
stop1: number,
output1: value1,
stop2: number,
output2: value2,
...
]
ترجع تعبيرات الخطوة قيمة الإخراج الخاصة بنقطة التوقف قبل قيمة الإدخال مباشرة، أو قيمة الإدخال الأولى إذا كان الإدخال أقل من نقطة التوقف الأولى.
مثال
يستخدم المثال التالي تعبيرا step لتعيين color خاصية طبقة فقاعة استنادا إلى temperature خاصية معلم النقطة. إذا كانت temperature القيمة أقل من 60 ، إرجاع الأزرق. إذا كان يتراوح بين 60 وأقل من 70 ، إرجاع الأصفر. إذا كان بين 70 وأقل من 80 ، إرجاع البرتقالي. إذا كان 80 أو أكثر ، إرجاع أحمر.
var layer = new atlas.layer.BubbleLayer(datasource, null, {
color: [
'step',
['get', 'temperature'],
'blue',
60, 'yellow',
70, 'orange',
80, 'red'
]
});
توضح الصورة التالية كيفية اختيار الألوان للتعبير أعلاه.

تعبيرات خاصة بطبقة
التعبيرات الخاصة التي تنطبق فقط على طبقات محددة.
تعبير كثافة الخريطة الحرارية
يسترجع تعبير كثافة الخريطة الحرارية قيمة كثافة الخريطة الحرارية لكل بكسل في طبقة الخريطة الحرارية ويتم تعريفه على أنه ['heatmap-density']. هذه القيمة هي رقم بين 0 و 1. يتم استخدامه بالاقتران مع interpolation تعبير أو step تعبير لتحديد تدرج اللون المستخدم لتلوين الخريطة الحرارية. لا يمكن استخدام هذا التعبير إلا في خيار اللون لطبقة الخريطة الحرارية.
تلميح
يحدد اللون الموجود في الفهرس 0، في تعبير الاستيفاء أو اللون الافتراضي للون خطوة، لون المساحة التي لا توجد بها بيانات. يمكن استخدام اللون في الفهرس 0 لتحديد لون الخلفية. يفضل الكثيرون تعيين هذه القيمة إلى أسود شفاف أو شبه شفاف.
مثال
يستخدم هذا المثال تعبير استيفاء بطانة لإنشاء تدرج لوني سلس لعرض الخريطة الحرارية.
var layer = new atlas.layer.HeatMapLayer(datasource, null, {
color: [
'interpolate',
['linear'],
['heatmap-density'],
0, 'transparent',
0.01, 'purple',
0.5, '#fb00fb',
1, '#00c3ff'
]
});
بالإضافة إلى استخدام تدرج سلس لتلوين خريطة حرارية، يمكن تحديد الألوان ضمن مجموعة من النطاقات باستخدام step تعبير. يؤدي step استخدام تعبير لتلوين الخريطة الحرارية بصريا إلى تقسيم الكثافة إلى نطاقات تشبه خريطة نمط الكفاف أو الرادار.
var layer = new atlas.layer.HeatMapLayer(datasource, null, {
color: [
'step',
['heatmap-density'],
'transparent',
0.01, 'navy',
0.25, 'navy',
0.5, 'green',
0.75, 'yellow',
1, 'red'
]
});
لمزيد من المعلومات، راجع وثائق إضافة طبقة خريطة حرارية .
تعبير تقدم الخط
يسترد تعبير تقدم الخط التقدم على طول خط متدرج في طبقة خط ويتم تعريفه على أنه ['line-progress']. هذه القيمة هي رقم بين 0 و 1. يتم استخدامه مع تعبير interpolation أو step تعبير. لا يمكن استخدام هذا التعبير إلا مع خيار الحد التدرج لطبقة الخط.
ملاحظة
strokeGradient يتطلب lineMetrics خيار طبقة الخط تعيين خيار مصدر البيانات إلى true.
مثال
يستخدم ['line-progress'] هذا المثال التعبير لتطبيق تدرج لوني على حد خط.
var layer = new atlas.layer.LineLayer(datasource, null, {
strokeGradient: [
'interpolate',
['linear'],
['line-progress'],
0, "blue",
0.1, "royalblue",
0.3, "cyan",
0.5, "lime",
0.7, "yellow",
1, "red"
]
});
تعبير تنسيق حقل النص
يمكن استخدام تعبير تنسيق حقل النص مع textField خيار خاصية طبقات textOptions الرمز لتوفير تنسيق نص مختلط. يسمح هذا التعبير بتحديد مجموعة من سلاسل الإدخال وخيارات التنسيق. يمكن تحديد الخيارات التالية لكل سلسلة إدخال في هذا التعبير.
'font-scale'- يحدد عامل القياس لحجم الخط. إذا تم تحديده، فستتجاوزsizeهذه القيمة خاصيةtextOptionsالسلسلة الفردية.'text-font'- يحدد عائلة خطوط واحدة أو أكثر يجب استخدامها لهذه السلسلة. إذا تم تحديده، فستتجاوزfontهذه القيمة خاصيةtextOptionsالسلسلة الفردية.
تحدد التعليمة البرمجية الزائفة التالية بنية تعبير تنسيق حقل النص.
[
'format',
input1: string,
options1: {
'font-scale': number,
'text-font': string[]
},
input2: string,
options2: {
'font-scale': number,
'text-font': string[]
},
…
]
مثال
يقوم المثال التالي بتنسيق حقل النص عن طريق إضافة خط غامق وزيادة حجم الخط لخاصية title الميزة. يضيف subTitle هذا المثال أيضا خاصية الميزة على سطر جديد، مع حجم خط مصغر.
var layer = new atlas.layer.SymbolLayer(datasource, null, {
textOptions: {
textField: [
'format',
//Bold the title property and scale its font size up.
['get', 'title'],
{
'text-font': ['literal', ['StandardFont-Bold']],
'font-scale': 1.25
},
'\n', {}, //Add a new line without any formatting.
//Scale the font size down of the subTitle property.
['get', 'subTitle'],
{
'font-scale': 0.75
}
]
}
});
ستعرض هذه الطبقة ميزة النقطة كما هو موضح في الصورة أدناه:

تعبير تنسيق الأرقام
number-format لا يمكن استخدام التعبير إلا مع textField خيار طبقة الرمز. يحول هذا التعبير الرقم المقدم إلى سلسلة منسقة. يلتف هذا التعبير حول الدالة Number.toLocalString الخاصة بجافا سكريبت ويدعم مجموعة الخيارات التالية.
locale- حدد هذا الخيار لتحويل الأرقام إلى سلاسل بطريقة تتماشى مع اللغة المحددة. مرر علامة لغة BCP 47 في هذا الخيار.currency- تحويل الرقم إلى سلسلة تمثل عملة. القيم المحتملة هي رموز عملة ISO 4217 ، مثل "USD" للدولار الأمريكي أو "EUR" لليورو أو "CNY" للرنمينبي الصيني.'min-fraction-digits'- يحدد الحد الأدنى لعدد المنازل العشرية لتضمينها في إصدار السلسلة من الرقم.'max-fraction-digits'- يحدد الحد الأقصى لعدد المنازل العشرية لتضمينها في إصدار السلسلة من الرقم.
تحدد التعليمة البرمجية الزائفة التالية بنية تعبير تنسيق حقل النص.
[
'number-format',
input: number,
options: {
locale: string,
currency: string,
'min-fraction-digits': number,
'max-fraction-digits': number
}
]
مثال
يستخدم المثال التالي تعبيرا number-format لتعديل كيفية revenue عرض خاصية معلم النقطة في textField خيار طبقة الرمز بحيث تظهر قيمة بالدولار الأمريكي.
var layer = new atlas.layer.SymbolLayer(datasource, null, {
textOptions: {
textField: [
'number-format',
['get', 'revenue'],
{ 'currency': 'USD' }
],
offset: [0, 0.75]
}
});
ستعرض هذه الطبقة ميزة النقطة كما هو موضح في الصورة أدناه:

تعبير الصورة
يمكن استخدام تعبير الصورة مع imagetextField وخيارات طبقة الرمز، وخيار fillPattern طبقة المضلع. يتحقق هذا التعبير من وجود الصورة المطلوبة في النمط وسيعود إما باسم الصورة التي تم حلها أو null، اعتمادا على ما إذا كانت الصورة موجودة حاليا في النمط أم لا. عملية التحقق من الصحة هذه متزامنة وتتطلب إضافة الصورة إلى النمط قبل طلبها في وسيطة الصورة.
مثال
يستخدم المثال التالي تعبيرا image لإضافة أيقونة مضمنة مع نص في طبقة رمز.
//Load the custom image icon into the map resources.
map.imageSprite.add('wifi-icon', 'wifi.png').then(function () {
//Create a data source and add it to the map.
datasource = new atlas.source.DataSource();
map.sources.add(datasource);
//Create a point feature and add it to the data source.
datasource.add(new atlas.data.Point(map.getCamera().center));
//Add a layer for rendering point data as symbols.
map.layers.add(new atlas.layer.SymbolLayer(datasource, null, {
iconOptions: {
image: 'none'
},
textOptions: {
//Create a formatted text string that has an icon in it.
textField: ["format", 'Ricky\'s ', ["image", "wifi-icon"], ' Palace']
}
}));
});
ستعرض هذه الطبقة حقل النص في طبقة الرمز كما هو موضح في الصورة أدناه:

تعبير التكبير/التصغير
zoom يتم استخدام تعبير لاسترداد مستوى التكبير/التصغير الحالي للخريطة في وقت العرض ويتم تعريفه على أنه ['zoom']. يرجع هذا التعبير رقما بين نطاق مستوى التكبير/التصغير الأدنى والحد الأقصى للخريطة. تدعم خرائط Azure عناصر تحكم في الخريطة التفاعلية للويب وAndroid 25 مستوى تكبير/تصغير، مرقمة من 0 إلى 24. zoom يسمح استخدام التعبير بتعديل الأنماط ديناميكيا عند تغيير مستوى التكبير/التصغير للخريطة. zoom لا يجوز استخدام التعبير إلا مع interpolate التعبيراتstep.
مثال
بشكل افتراضي، يكون لنصف قطر نقاط البيانات المقدمة في طبقة الخريطة الحرارية نصف قطر بكسل ثابت لجميع مستويات التكبير/التصغير. عند تكبير الخريطة، تتجمع البيانات معا وتبدو طبقة الخريطة الحرارية مختلفة. zoom يمكن استخدام تعبير لقياس نصف القطر لكل مستوى تكبير/تصغير بحيث تغطي كل نقطة بيانات نفس المساحة المادية للخريطة. سيجعل طبقة الخريطة الحرارية تبدو أكثر ثباتا واتساقا. يحتوي كل مستوى تكبير/تصغير في الخريطة على ضعف عدد وحدات البكسل عموديا وأفقيا مقارنة بمستوى التكبير/التصغير السابق. سيؤدي تغيير حجم نصف القطر، بحيث يتضاعف مع كل مستوى تكبير/تصغير، إلى إنشاء خريطة حرارية تبدو متسقة على جميع مستويات التكبير/التصغير. يمكن تحقيق ذلك باستخدام zoom التعبير مع تعبير، مع base 2 exponential interpolation تعيين نصف قطر البكسل للحد الأدنى لمستوى التكبير/التصغير ونصف قطر متدرج للحد الأقصى لمستوى التكبير/التصغير المحسوب كما 2 * Math.pow(2, minZoom - maxZoom) هو موضح أدناه.
var layer = new atlas.layer.HeatMapLayer(datasource, null, {
radius: [
'interpolate',
['exponential', 2],
['zoom'],
//For zoom level 1 set the radius to 2 pixels.
1, 2,
//Between zoom level 1 and 19, exponentially scale the radius from 2 pixels to 2 * Math.pow(2, 19 - 1) pixels (524,288 pixels).
19, 2 * Math.pow(2, 19 - 1)
]
};
تعبيرات الربط المتغيرة
تخزن تعبيرات ربط المتغيرات نتائج عملية حسابية في متغير. لذلك ، يمكن الرجوع إلى نتائج الحساب في مكان آخر في تعبير عدة مرات. إنه تحسين مفيد للتعبيرات التي تنطوي على العديد من الحسابات.
| Expression | نوع الإرجاع | الوصف |
|---|---|---|
| [ "دعونا نبدأ" ، name1: سلسلة، القيمة1: أي، name2: سلسلة، القيمة 2: أي، … الطفلالتعبير ] |
يخزن قيمة واحدة أو أكثر كمتغيرات لاستخدامها بواسطة var التعبير في التعبير التابع الذي يرجع النتيجة. |
|
['var', name: string] |
any | يشير إلى متغير تم إنشاؤه باستخدام let التعبير. |
مثال
يستخدم هذا المثال تعبيرا يحسب نسبة العائد بالنسبة إلى درجة الحرارة ثم يستخدم تعبيرا case لتقييم العمليات المنطقية المختلفة على هذه القيمة. let يستخدم التعبير لتخزين نسبة الإيرادات بالنسبة إلى درجة الحرارة ، بحيث يجب حسابها مرة واحدة فقط. يشير var التعبير إلى هذا المتغير كلما دعت الحاجة دون الحاجة إلى إعادة حسابه.
var layer = new atlas.layer.BubbleLayer(datasource, null, {
color: [
//Divide the point features `revenue` property by the `temperature` property and store it in a variable called `ratio`.
'let', 'ratio', ['/', ['get', 'revenue'], ['get', 'temperature']],
//Evaluate the child expression in which the stored variable will be used.
[
'case',
//Check to see if the ratio is less than 100, return 'red'.
['<', ['var', 'ratio'], 100],
'red',
//Check to see if the ratio is less than 200, return 'green'.
['<', ['var', 'ratio'], 200],
'green',
//Return `blue` for values greater or equal to 200.
'blue'
]
]
});
الخطوات التالية
راجع المقالات التالية لمزيد من نماذج التعليمات البرمجية التي تنفذ التعبيرات:
تعرف على المزيد حول خيارات الطبقة التي تدعم التعبيرات:


