আপনার রুটে স্টপের ক্রম অপ্টিমাইজ করা

ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA)-এর ডেভেলপার

সাধারণত, Routes API Compute Routes মেথড একাধিক স্টপের মাধ্যমে একটি রুট গণনা করে, যাকে স্টপওভার ওয়েপয়েন্ট বলা হয়। এগুলি আপনি যেভাবে প্রদান করেন সেই ক্রমে গণনা করা হয়।

আপনি Routes API-এর মাধ্যমে প্রদত্ত রুট অপ্টিমাইজ করতে পারেন। এটি আরও কার্যকর ক্রমে স্টপগুলি নতুন করে সাজিয়ে করা হয়। ওয়েপয়েন্ট অপ্টিমাইজেশন ভ্রমণের সময় অপ্টিমাইজ করে, তবে কোন রুট সবচেয়ে দক্ষ তা নির্ধারণ করার সময় দূরত্ব এবং কতবার ঘুরতে হবে তার মতো অন্যান্য বিষয়ও বিবেচনা করে।

ওয়েপয়েন্ট অপ্টিমাইজ করতে

  1. রুটের কোনও ওয়েপয়েন্টে via-এর মান true সেট করা নেই তা নিশ্চিত করুন, যেমন: {"address": "Clare,SA", "via": true}। ইন্টারমিডিয়েট ওয়েপয়েন্ট সম্পর্কে আরও জানতে, ইন্টারমিডিয়েট ওয়েপয়েন্ট নির্দিষ্ট করুন দেখুন।

  2. routing_preference যেন TRAFFIC_AWARE_OPTIMAL-এ সেট করা না থাকে তা নিশ্চিত করুন।

  3. optimize_waypoint_order-কে true হিসেবে সেট করুন। যেমন:

    "optimizeWaypointOrder": "true",
  4. field mask-এ routes.optimizedIntermediateWaypointIndex ফিল্ড নির্দিষ্ট করুন:

    REST

    -H X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex

    RPC

    const (fieldMask = "routes.optimizedIntermediateWaypointIndex")

ওয়েপয়েন্টের ক্রম কীভাবে অপ্টিমাইজ করা হয় তা বোঝা

Routes API কীভাবে কোনও রুটের মধ্যে ওয়েপয়েন্টের ক্রম অপ্টিমাইজ করে তা এখানে দেওয়া হল:

  1. আপনি অনুরোধে যেভাবে ওয়েপয়েন্টগুলি দিয়েছেন সেই ক্রম অনুযায়ী সেগুলি অটোমেটিক ইন্ডেক্স করা হয় এবং ০ থেকে শুরু হয়।

  2. অনুরোধে ওয়েপয়েন্টকে অ্যাসাইন করা ইন্ডেক্স নম্বর ব্যবহার করে ওয়েপয়েন্টের ক্রম অপ্টিমাইজ করে।

  3. routes.optimizedIntermediateWaypointIndex-এর অধীনে routes অবজেক্টের মধ্যে waypoint_order ফিল্ডে অপ্টিমাইজ করা ওয়েপয়েন্টের ক্রম রিটার্ন করে।

উদাহরণ

এই অনুরোধে দক্ষিণ অস্ট্রেলিয়ার অ্যাডিলেড থেকে দক্ষিণ অস্ট্রেলিয়ার প্রতিটি প্রধান ওয়াইন অঞ্চলে যাওয়ার এবং তারপরে অ্যাডিলেডে ফিরে আসার রুট অপ্টিমাইজ করার কথা বলা হয়েছে।

curl -X POST -H 'content-type: application/json' -d ' {
  "origin": {
    "address": "Adelaide,SA"
  },
  "destination": {
    "address": "Adelaide,SA"
  },
  "intermediates": [
    {"address": "Barossa+Valley,SA"},
    {"address": "Clare,SA"},
    {"address": "Coonawarra,SA"},
    {"address": "McLaren+Vale,SA"}
  ],
  "travelMode": "DRIVE",
  "optimizeWaypointOrder": "true"
  }' \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: routes,geocodingResults.intermediates.intermediateWaypointRequestIndex' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Routes API, অনুরোধে দেওয়া ইন্টারমিডিয়েট ওয়েপয়েন্টকে ০ থেকে শুরু করে ইন্ডেক্স করে। যেমন:

0    {"address": "Barossa+Valley,SA"},
1    {"address": "Clare,SA"},
2    {"address": "Coonawarrav,SA"},
3    {"address": "McLaren+Vale,SA"}

অনুরোধে দেওয়া চারটি ওয়েপয়েন্টের ইন্ডেক্স নম্বর ব্যবহার করে, পরিষেবাটি অপ্টিমাইজ করা ক্রম রিটার্ন করে:

"optimizedIntermediateWaypointIndex": [
                3,
                2,
                0,
                1
            ]