محاسبه خلاصه مسیریابی
برای استفاده از جستجوی نوشتار (جدید) یا جستجوی اطراف (جدید) برای محاسبه مدت و مسافت سفر به هر مکان در پاسخ:
-
پارامتر
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 برای مکانی دردسترس نباشد،
ورودی آرایه خالی است.
Because this example calculates the duration and distance from the routing
origin to each place, the routingSummaries.legs field in the response contains a single
Leg object that contains the duration and distanceMeters from
the routing origin to the place.
{ "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بر مسیرهای موجود در فیلد «پیشنمایش» (پیشاز دردسترس عموم)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 api را در سمت راست صفحه انتخاب کنید.
درصورت تمایل، پارامترهای درخواست را ویرایش کنید.
دکمه اجرا را انتخاب کنید. در کادر گفتگو، حسابی را که میخواهید برای درخواست استفاده شود انتخاب کنید.
در پانل «کاوشگر API»، نماد تمامصفحه تمامصفحه را انتخاب کنید تا پنجره «کاوشگر API» ازهم باز شود.