تخصيص الخطوط المتعددة للمسار
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
اختيار النظام الأساسي:
Android
iOS
JavaScript
يمكنك تخصيص خطوط متعدّدة الأضلاع الخاصة بالمسارات باستخدام الطريقة ConsumerMapStyle.setPolylineStyleOptions
. في حال ضبط خيارات مخصّصة للخطوط المتعددة الأضلاع، سيتم تجاهل القيم التلقائية التي توفّرها حزمة تطوير البرامج (SDK) الخاصة بالمستهلك.
لاستعادة القيم التلقائية، استدعِ الدالة
setPolylineStyleOptions
مع null
للمَعلمة PolylineOptions
.
لاسترداد PolylineOptions
النشط، استخدِم طريقة
getPolylineStyleOptions
.
لمزيد من المعلومات، يُرجى الاطّلاع على
ConsumerMapStyle.setPolylineStyleOptions
.
أنواع الخطوط المتعددة للمسارات
يمكنك تخصيص الأنواع التالية من خطوط مسارات متعدّدة الأضلاع:
ACTIVE_ROUTE
REMAINING_ROUTE
يظهر الرمز ACTIVE_ROUTE
والرمز REMAINING_ROUTE
أثناء تتبُّع رحلة، وهما يمثّلان مسار المركبة.
سمات الخطوط المتعددة للطريق
توفّر "خرائط Google" سمات قابلة للتخصيص لكل خط متعدد الأضلاع في
PolylineOptions
.
لإنشاء PolylineOptions
، استخدِم أداة الإنشاء الخاصة به.
لتحديد خصائص مخصّصة، استخدِم طرقًا بنمط "Setter". بما أنّ الطريقة توفّر قيمًا تلقائية لكل خاصية، ما عليك سوى تحديد أي قيم مخصّصة.
لإيقاف الخط المتعدد الأضلاع، اضبط قيمة visible
على false
.
لمزيد من التفاصيل، يُرجى الاطّلاع على
PolylineOptions
في مستندات مطوّري تطبيقات Android.
مثال
Java
// Initializing polyline style options.
consumerController
.getConsumerMapStyle()
.addOnSuccessListener(
consumerMapStyle -> {
consumerMapStyle.setPolylineStyleOptions(
PolylineType.ACTIVE_ROUTE,
new PolylineOptions()
.visible(false));
});
// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null);
Kotlin
// Initializing polyline options.
consumerController
.getConsumerMapStyle()
.addOnSuccessListener({ consumerMapStyle ->
consumerMapStyle.setPolylineStyleOptions(
PolylineType.ACTIVE_ROUTE,
PolylineOptions().visible(false)
)
})
// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null)
المسار النشط والمتبقّي
عند تفعيل ميزة "مشاركة الرحلة"، يمكن لتطبيقك تخصيص تجربة المستخدم باستخدام خطوط متعددة الأضلاع لعرض المسار النشط والمتبقي لمركبتك.
المسار النشط هو المسار الذي تسلكه المركبة حاليًا للوصول إلى نقطة الطريق التالية في الرحلة النشطة للمستهلك.
المسار المتبقي هو المسار الذي لا يزال على المركبة أن تسلكه بعد المسار النشط. عندما تكون نقطة الطريق النشطة هي آخر نقطة طريق في الرحلة، لا يكون المسار المتبقي متاحًا.
يمكنك تخصيص مستوى ظهور الخطوط المتعددة النشطة والمتبقية والتحكّم فيه في تطبيقك. وبشكل تلقائي، يكون المسار النشط مرئيًا والمسار المتبقي غير مرئي.
مثال
Java
// Initializing polyline options.
consumerController
.getConsumerMapStyle()
.addOnSuccessListener(
consumerMapStyle -> {
consumerMapStyle.setPolylineStyleOptions(
PolylineType.ACTIVE_ROUTE,
new PolylineOptions()
.color(Color.BLUE));
consumerMapStyle.setPolylineStyleOptions(
PolylineType.REMAINING_ROUTE,
new PolylineOptions()
.color(Color.BLACK)
.width(5)
.visible(true));
});
// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null);
consumerMapStyle.setPolylineStyleOptions(PolylineType.REMAINING_ROUTE, null);
Kotlin
// Initializing polyline options.
consumerController
.getConsumerMapStyle()
.addOnSuccessListener({ consumerMapStyle ->
{
consumerMapStyle.setPolylineStyleOptions(
PolylineType.ACTIVE_ROUTE,
PolylineOptions().color(Color.BLUE)
)
consumerMapStyle.setPolylineStyleOptions(
PolylineType.REMAINING_ROUTE,
PolylineOptions().color(Color.BLACK).width(5).visible(true)
)
}
})
// Reset polyline options to default values.
consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null)
consumerMapStyle.setPolylineStyleOptions(PolylineType.REMAINING_ROUTE, null)
خطوط متعدّدة تراعي حركة المرور
تكون طبقة حركة المرور الخاصة بالخط المتعدد غير مفعَّلة تلقائيًا. عند تفعيل هذا الخيار، يرسم العارض أجزاءً فوق خطوط مسار الطريق المتعددة تمثّل مقاطع من حركة المرور غير العادية. ويتضمّن إزاحة استنادًا إلى حالة حركة المرور.
لمزيد من المعلومات، راجِع مستندات المطوّرين على Android حول الخطوط المتعددة الأضلاع.
تمثّل "خرائط Google" أحوال حركة المرور كأحد أربعة أنواع من السرعة.
يمكنك تخصيص لون كل نوع من أنواع السرعة.
لتفعيل خطوط متعددة الأضلاع تتضمّن معلومات عن حركة المرور، أنشئ عنصر TrafficStyle
ثم مرِّره إلى ConsumerMapStyle
من خلال استدعاء setPolylineTrafficStyle()
.
مثال
Java
// TrafficStyle is part of the Consumer SDK.
int orange = Color.rgb(255, 165, 0);
TrafficStyle trafficStyle = TrafficStyle.builder()
.setTrafficVisibility(true)
.setTrafficColor(SpeedType.NO_DATA, Color.GREY)
.setTrafficColor(SpeedType.NORMAL, Color.BLUE)
.setTrafficColor(SpeedType.SLOW, orange)
.setTrafficColor(SpeedType.TRAFFIC_JAM, Color.RED)
.build();
consumerMapStyle.setPolylineTrafficStyle(PolylineType.ACTIVE_ROUTE, trafficStyle);
Kotlin
// TrafficStyle is part of the Consumer SDK.
val orange = Color.rgb(255, 165, 0)
val trafficStyle =
TrafficStyle.builder()
.setTrafficVisibility(true)
.setTrafficColor(SpeedType.NO_DATA, Color.GRAY)
.setTrafficColor(SpeedType.NORMAL, Color.BLUE)
.setTrafficColor(SpeedType.SLOW, orange)
.setTrafficColor(SpeedType.TRAFFIC_JAM, Color.RED)
.build()
consumerMapStyle.setPolylineTrafficStyle(PolylineType.ACTIVE_ROUTE, trafficStyle)
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-08-31 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-31 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eCustomize the appearance of route polylines (active, remaining) using \u003ccode\u003eConsumerMapStyle.setPolylineStyleOptions\u003c/code\u003e to override default settings.\u003c/p\u003e\n"],["\u003cp\u003eRestore default polyline styles by calling \u003ccode\u003esetPolylineStyleOptions\u003c/code\u003e with \u003ccode\u003enull\u003c/code\u003e for the \u003ccode\u003ePolylineOptions\u003c/code\u003e parameter.\u003c/p\u003e\n"],["\u003cp\u003eControl the visibility and styling of active and remaining route polylines to enhance the user's trip visualization.\u003c/p\u003e\n"],["\u003cp\u003eEnable and customize traffic-aware polylines with \u003ccode\u003eTrafficStyle\u003c/code\u003e to visually represent traffic conditions along the route.\u003c/p\u003e\n"]]],[],null,["Select platform: [Android](/maps/documentation/mobility/journey-sharing/on-demand/android/customize-polylines \"View this page for the Android platform docs.\") [iOS](/maps/documentation/mobility/journey-sharing/on-demand/ios/customize-polylines \"View this page for the iOS platform docs.\") [JavaScript](/maps/documentation/mobility/journey-sharing/on-demand/javascript/customize-route-polylines \"View this page for the JavaScript platform docs.\")\n\n\u003cbr /\u003e\n\nYou customize route polylines using the\n`ConsumerMapStyle.setPolylineStyleOptions` method. If you set custom polyline\noptions, they override the default values provided by the Consumer SDK.\n\n**To restore the default values** , call\n[`setPolylineStyleOptions`](/maps/documentation/mobility/journey-sharing/on-demand/reference/consumer_2/android/reference/com/google/android/libraries/mapsplatform/transportation/consumer/view/ConsumerMapStyle#setPolylineStyleOptions(int,%20com.google.android.gms.maps.model.PolylineOptions))\nwith `null` for the `PolylineOptions` parameter.\n\n**To retrieve the active `PolylineOptions`** , use\n[`getPolylineStyleOptions`](/maps/documentation/mobility/journey-sharing/on-demand/reference/consumer_2/android/reference/com/google/android/libraries/mapsplatform/transportation/consumer/view/ConsumerMapStyle#getPolylineStyleOptions(int)) method.\n\nFor more information, see\n[`ConsumerMapStyle.setPolylineStyleOptions`](/maps/documentation/mobility/journey-sharing/on-demand/reference/consumer_2/android/reference/com/google/android/libraries/mapsplatform/transportation/consumer/view/ConsumerMapStyle#setPolylineStyleOptions(int,%20com.google.android.gms.maps.model.PolylineOptions)).\n\nRoute polyline types\n\nYou can customize the following route polyline types:\n\n- `ACTIVE_ROUTE`\n- `REMAINING_ROUTE`\n\n`ACTIVE_ROUTE` and `REMAINING_ROUTE` are displayed while following a trip and\nrepresent the [vehicle's route](#active-route).\n\nRoute polyline properties\n\nGoogle Maps provides customizable properties available for each polyline in\n`PolylineOptions`.\n\n- **To build `PolylineOptions`**, use its constructor.\n\n- **To specify customized properties**, use 'Setter' style methods. Since\n the method provides default values for each property, you only need\n to specify any custom values.\n\n- **To turn off the polyline** , set `visible` to `false`.\n\nFor more details, see\n[`PolylineOptions`](https://developers.google.com/android/reference/com/google/android/gms/maps/model/PolylineOptions) in the Android developer documentation.\n\nExample \n\nJava \n\n // Initializing polyline style options.\n consumerController\n .getConsumerMapStyle()\n .addOnSuccessListener(\n consumerMapStyle -\u003e {\n consumerMapStyle.setPolylineStyleOptions(\n PolylineType.ACTIVE_ROUTE,\n new PolylineOptions()\n .visible(false));\n });\n\n // Reset polyline options to default values.\n consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null);\n\nKotlin \n\n // Initializing polyline options.\n consumerController\n .getConsumerMapStyle()\n .addOnSuccessListener({ consumerMapStyle -\u003e\n consumerMapStyle.setPolylineStyleOptions(\n PolylineType.ACTIVE_ROUTE,\n PolylineOptions().visible(false)\n )\n })\n\n // Reset polyline options to default values.\n consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null)\n\nActive and Remaining Route\n\nWith journey sharing enabled, your app can customize the\nuser's experience using polylines to show the active and remaining\nroute for your vehicle.\n\n- The *active route* is the path the vehicle is now traveling to reach\n the next waypoint in the consumer's active trip.\n\n- The *remaining route* is the path the vehicle still has to travel past\n the active route. When the active route waypoint is the last trip waypoint,\n the remaining route does not exist.\n\nYou can customize and control visibility of active and remaining polylines in\nyour app. By default, the active route is visible and the remaining route\nis not visible.\n\nExample \n\nJava \n\n // Initializing polyline options.\n consumerController\n .getConsumerMapStyle()\n .addOnSuccessListener(\n consumerMapStyle -\u003e {\n consumerMapStyle.setPolylineStyleOptions(\n PolylineType.ACTIVE_ROUTE,\n new PolylineOptions()\n .color(Color.BLUE));\n consumerMapStyle.setPolylineStyleOptions(\n PolylineType.REMAINING_ROUTE,\n new PolylineOptions()\n .color(Color.BLACK)\n .width(5)\n .visible(true));\n });\n\n // Reset polyline options to default values.\n consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null);\n consumerMapStyle.setPolylineStyleOptions(PolylineType.REMAINING_ROUTE, null);\n\nKotlin \n\n // Initializing polyline options.\n consumerController\n .getConsumerMapStyle()\n .addOnSuccessListener({ consumerMapStyle -\u003e\n {\n consumerMapStyle.setPolylineStyleOptions(\n PolylineType.ACTIVE_ROUTE,\n PolylineOptions().color(Color.BLUE)\n )\n\n consumerMapStyle.setPolylineStyleOptions(\n PolylineType.REMAINING_ROUTE,\n PolylineOptions().color(Color.BLACK).width(5).visible(true)\n )\n }\n })\n\n // Reset polyline options to default values.\n consumerMapStyle.setPolylineStyleOptions(PolylineType.ACTIVE_ROUTE, null)\n\n consumerMapStyle.setPolylineStyleOptions(PolylineType.REMAINING_ROUTE, null)\n\nTraffic-aware polylines\n\nThe traffic layer of the polyline is disabled by default. When you enable it,\nthe renderer draws segments above the route polyline that represent stretches of\nnon-normal traffic. It includes an offset depending on the traffic condition.\nSee the Android Developer documentation for [Polyline](https://developers.google.com/android/reference/com/google/android/gms/maps/model/Polyline#public-void-setzindex-float-zindex) for more information.\n\nGoogle maps represent traffic conditions as one of\n[four speed types](/maps/documentation/mobility/journey-sharing/on-demand/reference/consumer_2/android/reference/com/google/android/libraries/mapsplatform/transportation/consumer/model/TrafficData.SpeedReadingInterval.SpeedType).\nYou can customize the color for each speed type.\n\n**To enable traffic-aware polylines** , construct a `TrafficStyle` object\nand then pass it to `ConsumerMapStyle` by calling `setPolylineTrafficStyle()`.\n\nExample \n\nJava \n\n // TrafficStyle is part of the Consumer SDK.\n int orange = Color.rgb(255, 165, 0);\n TrafficStyle trafficStyle = TrafficStyle.builder()\n .setTrafficVisibility(true)\n .setTrafficColor(SpeedType.NO_DATA, Color.GREY)\n .setTrafficColor(SpeedType.NORMAL, Color.BLUE)\n .setTrafficColor(SpeedType.SLOW, orange)\n .setTrafficColor(SpeedType.TRAFFIC_JAM, Color.RED)\n .build();\n\n consumerMapStyle.setPolylineTrafficStyle(PolylineType.ACTIVE_ROUTE, trafficStyle);\n\nKotlin \n\n // TrafficStyle is part of the Consumer SDK.\n val orange = Color.rgb(255, 165, 0)\n val trafficStyle =\n TrafficStyle.builder()\n .setTrafficVisibility(true)\n .setTrafficColor(SpeedType.NO_DATA, Color.GRAY)\n .setTrafficColor(SpeedType.NORMAL, Color.BLUE)\n .setTrafficColor(SpeedType.SLOW, orange)\n .setTrafficColor(SpeedType.TRAFFIC_JAM, Color.RED)\n .build()\n\n consumerMapStyle.setPolylineTrafficStyle(PolylineType.ACTIVE_ROUTE, trafficStyle)"]]