محاسبه خلاصه مسیریابی
برای استفاده از جستجوی متن (جدید) یا جستجوی نزدیک (جدید) برای محاسبه مدت زمان سفر و مسافت تا هر مکان در پاسخ:
برای تعیین مختصات طول و عرض جغرافیایی مبدا مسیریابی، پارامتر
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 متر است.
از جستجوی نزدیک استفاده کنید
در این مثال، شما مدت زمان سفر و مسافت تا هر مکان را در پاسخ جستجوی Nearby محاسبه میکنید. این مثال رستورانها را در سیدنی، استرالیا جستجو میکند و محدودیت مکان و مبدأ مسیریابی را روی همان مختصات طول و عرض جغرافیایی تنظیم میکند:
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
بر جهتهای موجود در قسمت Preview (Pre-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'