حساب ملخص التوجيه

لاستخدام البحث النصي (جديد) أو البحث عن قرب (جديد) لحساب مدة السفر والمسافة إلى كل مكان في الاستجابة:

  1. نقْل المَعلمة routingParameters.origin في الطلب لتحديد إحداثيات خط الطول وخط العرض لمصدر التوجيه. هذه المعلمة لحساب المدة والمسافة بين كل مكان في الاستجابة.

  2. أدرِج routingSummaries في قناع الحقل لكي يتضمّن الردّ مصفوفة routingSummaries. تحتوي هذه الصفيفة على المدة والمسافة من مصدر التوجيه إلى كل مكان في الاستجابة.

استخدام البحث النصي (جديد)

في الطلب التالي، يمكنك احتساب مدة الرحلة والمسافة إلى كل مكان في استجابة "البحث النصي (جديد)":

  curl -X POST -d '{
    "textQuery" : "Spicy Vegetarian Food in Sydney, Australia",
    "routingParameters": {
      "origin": {
        "latitude": -33.8688,
        "longitude": 151.1957362
      }
    }
  }' \
  -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
  -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \
  'https://places.googleapis.com/v1/places:searchText'

يحتوي الردّ على صفيفتَي JSON: تحتوي المصفوفة places على القيم المطابقة والمصفوفة routingSummaries التي تحتوي على المدة والمسافة إلى السفر إلى كل مكان:

{
  "places": [
    {
      object (Place)
    }
  ]
  "routingSummaries": [
    {
      "legs": [
        object (Leg)
      ]
    }
  ]
}

يكون كل عنصر في المصفوفة routingSummaries في المصفوفة المقابلة. الموقع كمكان في المصفوفة places. أي أن العنصر في routingSummaries[0] يتجاوب مع المكان في places[0].

طول الصفيفة routingSummaries هو نفس طول صفيف places في حال عدم توفّر routingSummary لأحد الأماكن، يكون إدخال الصفيف فارغًا.

بما أنّ هذا المثال يحسب المدة والمسافة من نقطة بدء المسار إلى كل مكان، يحتوي الحقل legs في الردّ على عنصر Leg واحد يحتوي على duration وdistanceMeters من نقطة بدء المسار إلى المكان:

{
  "places": [
    {
      "formattedAddress": "1, Westfield Sydney Central Plaza, 450 George St, Sydney NSW 2000, Australia",
      "displayName": {
        "text": "Gözleme King Sydney",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia",
      "priceLevel": "PRICE_LEVEL_MODERATE",
      "displayName": {
        "text": "Mother Chu's Vegetarian Kitchen",
        "languageCode": "en"
      }
    },
    …
  ]
  "routingSummaries": [
    {
      "legs": [
        {
          "duration": "597s",
          "distanceMeters": 2607
        }
      ]
    },
    {
      "legs": [
        {
          "duration": "562s",
          "distanceMeters": 2345
        }
      ]
    },
   …
  ]
}

من هذا المثال، يمكنك الاطّلاع على أنّ المدة والمسافة من نقطة بدء مسار التنقّل إلى المكان الأول في النتائج هي 597 ثانية و2607 متر.

في هذا المثال، يتم حساب مدة السفر والمسافة إلى كل مكان في استجابة البحث عن قرب. يبحث هذا المثال عن مطاعم في سيدني، أستراليا ويضبط تقييد الموقع الجغرافي وأصل التوجيه على القيم نفسها إحداثيات خط العرض وخط الطول:

  curl -X POST -d '{
    "includedTypes": ["restaurant"],
    "maxResultCount": 10,
    "locationRestriction": {
      "circle": {
        "center": {
          "latitude": -33.8688,
          "longitude": 151.1957362},
        "radius": 500.0
      }
    },
    "routingParameters": {
      "origin": {
        "latitude": -33.8688,
        "longitude": 151.1957362
      }
    }
  }' \
  -H 'Content-Type: application/json' -H "X-Goog-Api-Key:API_KEY" \
  -H "X-Goog-FieldMask: places.displayName,routingSummaries" \
  https://places.googleapis.com/v1/places:searchNearby

لست مضطرًا لاستخدام الإحداثيات نفسها مع locationRestriction و لمصدر التوجيه. على سبيل المثال، يمكنك ضبط locationRestriction على الوسط مدينة سيدني لانحياز نتائج البحث إلى تلك الدائرة. ولكنّك بعد ذلك ضبطت نقطة تحديد المسار على إحداثيات منزلك، أي موقع جغرافي مختلف ضمن دائرة البحث. بعد ذلك، يوجّه الطلب نتائج البحث نحو الدائرة، ويحسب ملخّصات التوجيه استنادًا إلى الموقع الجغرافي لمنزلك.

تحديد خيارات السفر

بشكل افتراضي، تكون حسابات المدة والمسافة للسيارة. ومع ذلك، يمكنك التحكّم في نوع المركبة، بالإضافة إلى خيارات أخرى، في عملية البحث.

في المثال التالي، يمكنك تحديد وضع السفر على أنّه DRIVE وتجنُّب الطرق السريعة:

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia",
  "routingParameters": {
    "origin": {
      "latitude": -33.8688,
      "longitude": 151.1957362
    },
    "travelMode":"DRIVE",
    "routeModifiers": {
      "avoidHighways": true
    }
  }
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \
'https://places.googleapis.com/v1/places:searchText'