محاسبه خلاصه مسیریابی
برای استفاده از جستجوی نوشتاری (جدید) یا جستجوی اطراف (جدید) برای محاسبه مدت سفر و فاصله تا هر مکان در پاسخ:
-
پارامتر
routingParameters.originرا در درخواست ارسال کنید تا مختصات طول و عرض جغرافیایی مبدأ مسیریابی را مشخص کنید. این پارامتر برای محاسبه مدت و فاصله تا هر مکان در پاسخ الزامی است. -
routingSummariesرا در پوشش فیلد بگنجانید تا پاسخ شامل آرایهroutingSummariesشود. این آرایه شامل مدت و فاصله از مبدأ مسیریابی تا هر مکان در پاسخ است.
APIs Explorer به شما امکان میدهد درخواستهای زنده ارسال کنید تا بتوانید با میانای برنامهسازی کاربردی و گزینههای میانای برنامهسازی کاربردی آشنا شوید:
استفاده از «جستجوی نوشتاری» (جدید)
در درخواست زیر، مدت و فاصله سفر به هر مکان را در پاسخ «جستجوی نوشتاری (جدید)» محاسبه میکنید:
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" }, … ] }
از این مثال میتوانید ببینید که مدت و فاصله از مبدأ مسیریابی تا اولین مکان در نتایج ۵۹۷ ثانیه و ۲۶۰۷ متر است.
استفاده از «جستجوی اطراف»
در این مثال، مدت زمان سفر و فاصله تا هر مکان را در پاسخ «جستجوی مکانهای اطراف» محاسبه میکنید. این مثال رستورانهای سیدنی، استرالیا را جستجو میکند و محدودیت مکان و مبدأ مسیریابی را روی مختصات طول و عرض جغرافیایی یکسان تنظیم میکند:
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بر مسیرهای موجود در فیلد «پیشنمایش» (پیشاز GA)directionsUriتأثیر میگذارد زیرا وقتی Google Maps پیوند را باز میکند، گزینههای ترافیک را نمایش میدهد. -
از دارایی
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 Explorer میتوانید درخواستهای نمونه ایجاد کنید تا با API و گزینههای API آشنا شوید.
نماد API api را در سمت چپ صفحه انتخاب کنید.
درصورت تمایل، پارامترهای درخواست را ویرایش کنید.
دکمه اجرا را انتخاب کنید. در کادر گفتگو، حسابی را که میخواهید برای درخواست استفاده کنید انتخاب کنید.
در پانل «کاوشگر میاناهای برنامهسازی کاربردی»، نماد تمامصفحه تمامصفحه را برای ازهم بازکردن پنجره «کاوشگر میاناهای برنامهسازی کاربردی» انتخاب کنید.