حساب ملخص التوجيه
لاستخدام البحث النصي (جديد) أو البحث عن قرب (جديد) لحساب مدة السفر والمسافة إلى كل مكان في الاستجابة:
-
نقْل المَعلمة
routingParameters.origin
في الطلب لتحديد إحداثيات خط الطول وخط العرض لمصدر التوجيه. هذه المعلمة لحساب المدة والمسافة بين كل مكان في الاستجابة. -
أدرِج
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
على الوسط
مدينة سيدني لانحياز نتائج البحث إلى تلك الدائرة. ولكنّك بعد ذلك ضبطت
نقطة تحديد المسار على إحداثيات منزلك، أي موقع جغرافي مختلف
ضمن دائرة البحث. بعد ذلك، يوجّه الطلب نتائج البحث نحو
الدائرة، ويحسب ملخّصات التوجيه استنادًا إلى الموقع الجغرافي
لمنزلك.
تحديد خيارات السفر
بشكل افتراضي، تكون حسابات المدة والمسافة للسيارة. ومع ذلك، يمكنك التحكّم في نوع المركبة، بالإضافة إلى خيارات أخرى، في عملية البحث.
-
استخدِم المَعلمة
routingParameters.travelMode
لضبط عمود وسيلة النقل علىDRIVE
أوBICYCLE
أوWALK
أوTWO_WHEELER
. لمزيد من المعلومات، المعلومات حول هذه الخيارات، يُرجى الاطّلاع على أنواع المركبات المتاحة المسارات. -
استخدِم السمة
routingParameters.routingPreference
لضبط خيار توجيه المحتوى علىTRAFFIC_UNAWARE
(الإعداد التلقائي) أوTRAFFIC_AWARE
أوTRAFFIC_AWARE_OPTIMAL
. لكل خيار مستويات مختلفة من جودة البيانات وقت الاستجابة. لمزيد من المعلومات، اطّلِع على تحديد كيفية تضمين بيانات عدد الزيارات وما إذا كان سيتم تضمينها. -
استخدِم السمة
routingParameters.routeModifiers
لتحديدavoidTolls
وavoidHighways
وavoidFerries
وavoidIndoor
لمزيد من المعلومات عن هذه الخيارات، اطّلِع على تحديد ميزات المسار التي تريد تفاديها.
في المثال التالي، يمكنك تحديد وضع السفر على أنّه 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'