الأهداف هي مَعلمات تحدّد مسبقًا أهداف التحسين الشائعة، مثل أقصر مسافة أو مدة للرحلة، أو عمليات التسليم في الوقت المحدد، أو موازنة الأحمال بين السائقين. تهدف هذه الميزة إلى تسهيل عملية إعداد المطوّرين لاستخدام واجهة برمجة التطبيقات Route Optimization API قبل التعرّف على التفاصيل الدقيقة والتخصيص الكامل لمعلمات التكلفة.
عند ضبطها، ستؤدي ShipmentModel.objectives
إلى إلغاء نموذج التكلفة بالكامل، وبالتالي لن تكون متوافقة مع التكاليف الحالية. يرتبط كل
Objective
بعدد من التكاليف المحدّدة مسبقًا للمركبات أو الشحنات أو سمات
النقل.
عند تحديد وضع الحل TRANSFORM_AND_RETURN_REQUEST
، لا يتم حل الطلب، بل يتم التحقق من صحته فقط وتعبئته بالتكاليف
المناسبة للأهداف المحددة. يتم عرض الطلب المعدَّل على النحو التالي:
OptimizeToursResponse.processed_request
. ستعرض جميع طرق الحلّ الأخرى الطلب الذي تم حله.
لا يكون وضع الحل TRANSFORM_AND_RETURN_REQUEST
صالحًا إلا لطلبات OptimizeTours
، ولا يتوفّر لطلبات أخرى من Route Optimization API.
مثال: تقديم طلب ShipmentModel.objectives
قبل تقديم طلب، يُرجى إكمال الخطوات التالية:
- تأكَّد من إعداد بيانات الاعتماد التلقائية للتطبيق كما هو موضّح في استخدام OAuth.
اضبط قيمة PROJECT_NUMBER_OR_ID على رقم مشروعك أو رقم تعريفه على السحابة الإلكترونية.
يرسل الأمر التالي
OptimizeToursRequest
إلى واجهة برمجة التطبيقات Route Optimization API التي تعرضOptimizeToursResponse
.curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeTours' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ --data @- <<EOM { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.42506261000996, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.42421503206021, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", } ], "objectives": [ { "type": "MIN_TRAVEL_TIME" } ], } } EOM
مثال: تقديم طلب TRANSFORM_AND_RETURN_REQUEST
قبل تقديم طلب، يُرجى إكمال الخطوات التالية:
- تأكَّد من إعداد بيانات الاعتماد التلقائية للتطبيق كما هو موضّح في استخدام OAuth.
اضبط قيمة PROJECT_NUMBER_OR_ID على رقم مشروعك أو رقم تعريفه على السحابة الإلكترونية.
يرسل الأمر التالي
OptimizeToursRequest
إلى واجهة برمجة التطبيقات Route Optimization API التي تعرضOptimizeToursResponse
مع ضبط الحقلProcessedRequest
. سينتج عن الأمر السابق استجابة مشابهة لما يلي.curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeTours' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ --data @- <<EOM { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.42506261000996, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.42421503206021, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", } ], "objectives": [ { "type": "MIN_TRAVEL_TIME" } ] }, "solvingMode": "TRANSFORM_AND_RETURN_REQUEST" } EOM
{ "processedRequest": { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.425062610009959, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.424215032060211, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", "costPerHour": 30, "costPerTraveledHour": 330, "costPerKilometer": 0.2 } ], "objectives": [ { "type": "MIN_TRAVEL_TIME" } ] }, "solvingMode": "TRANSFORM_AND_RETURN_REQUEST" } }