احتساب ملخّص التوجيه
لاستخدام البحث النصي (ميزة جديدة) أو البحث عن الأماكن المجاورة (ميزة جديدة) لاحتساب مدة الرحلة والمسافة إلى كل مكان في الردّ:
-
نقْل المَعلمة
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": [ { object (RoutingSummary) } }
يكون كل عنصر في صفيف routingSummaries
في موضع الصفيف
المقابل للمكان في صفيف places
. وهذا يعني أنّ العنصر في
routingSummaries[0]
يتوافق مع المكان في places[0]
.
طول المصفوفة routingSummaries
هو نفسه طول المصفوفة
places
. في حال عدم توفّر routingSummary
لأحد الأماكن،
يكون إدخال الصفيف فارغًا.
بما أنّ هذا المثال يحسب المدة والمسافة من نقطة بدء المسار
إلى كل مكان، يحتوي الحقل routingSummaries.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 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3fa97cd745:0x6aecf365bf497c08!3e0" }, { "legs": [ { "duration": "562s", "distanceMeters": 2345 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3da97f60c1:0x845f3273bd764f6c!3e0" }, … ] }
من هذا المثال، يمكنك الاطّلاع على أنّ المدة والمسافة من نقطة بدء مسار التنقّل إلى المكان الأول في النتائج هي 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.routingPreference
في الاتّجاهات الواردة في حقل المعاينة (قبل الإصدار العلني)directionsUri
لأنّ تطبيق "خرائط Google" يعرض خيارات التنقّل عند فتح الرابط. -
استخدِم السمة
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'
جرّب الآن
يتيح لك "مستكشف واجهات برمجة التطبيقات" إنشاء نماذج طلبات لكي تتمكّن من التعرّف على واجهة برمجة التطبيقات وخياراتها.
انقر على رمز واجهة برمجة التطبيقات api على يسار الصفحة.
يمكنك اختياريًا تعديل مَعلمات الطلب.
انقر على الزر تنفيذ. في مربّع الحوار، اختَر الحساب الذي تريد استخدامه لتقديم الطلب.
في لوحة "مستكشف واجهات برمجة التطبيقات"، انقر على رمز ملء الشاشة fullscreen لتوسيع نافذة "مستكشف واجهات برمجة التطبيقات".