Exemplo 3 – Rota desviando de áreas de restrição
Quando existem áreas de restrição cadastradas na Restriction Zones API, é possível utilizá-las como argumento no parâmetro restrictionZones
. Assim a rota desviará dessas áreas.
Se houver algum ponto de parada dentro da área de restrição, a Trip API atenderá o ponto de parada pelo caminho que houver menor sobreposição com a área.
Na imagem abaixo, temos um exemplo de uma rota direta entre dois pontos. Queremos criar duas zonas de restrição nas áreas destacadas em vermelho.
Para fazer a Trip API desviar dessas áreas, o parâmetro restrictionZones
deve ser preenchido com as duas zonas de restrições criadas anteriormente:
{ "calculationMode": "THE_FASTEST", "points": [ { "siteId": "Point 1-Vila-Galvao", "latitude": -23.454521350080835, "longitude": -46.57105028629302 }, { "siteId": "Point 2-Aricanduva", "latitude": -23.52933420411184, "longitude": -46.55395656824112 } ], "restrictionZones": [ "SP_BR381_90_km_Alt_Esq_5_3_Cen_5_45_Dir_5_6", "SP_BR381_87_km_Alt_Esq_6_7_Cen_6_7_Dir_6_7" ] }
O resultado pode ser observado no mapa abaixo:
A resposta completa pode ser conferida abaixo, com as coordenadas codificadas como objeto:
{ "id": "60746c7596b979629d88fbe3", "clientId": "maplink", "totalDistance": 10557, "totalNominalDuration": 665, "averageSpeed": 57.15, "legs": [ { "distance": 10557, "nominalDuration": 665, "averageSpeed": 57.15, "points": [ { "latitude": -23.454529685684275, "longitude": -46.57101803113189 }, { "latitude": -23.455378, "longitude": -46.571206 }, { "latitude": -23.456685, "longitude": -46.571394 }, { "latitude": -23.457933, "longitude": -46.571506 }, { "latitude": -23.465821, "longitude": -46.571676 }, { "latitude": -23.466442, "longitude": -46.571655 }, { "latitude": -23.466704, "longitude": -46.571613 }, { "latitude": -23.467036, "longitude": -46.571523 }, { "latitude": -23.467228, "longitude": -46.571455 }, { "latitude": -23.467426, "longitude": -46.571359 }, { "latitude": -23.467632, "longitude": -46.571239 }, { "latitude": -23.467869, "longitude": -46.571073 }, { "latitude": -23.46809, "longitude": -46.57089 }, { "latitude": -23.468273, "longitude": -46.570707 }, { "latitude": -23.468437, "longitude": -46.570512 }, { "latitude": -23.46858, "longitude": -46.570319 }, { "latitude": -23.468724, "longitude": -46.570088 }, { "latitude": -23.472334, "longitude": -46.563526 }, { "latitude": -23.472647, "longitude": -46.563086 }, { "latitude": -23.473181, "longitude": -46.562443 }, { "latitude": -23.474189, "longitude": -46.561426 }, { "latitude": -23.47474, "longitude": -46.56104 }, { "latitude": -23.475011, "longitude": -46.56089 }, { "latitude": -23.475461, "longitude": -46.560705 }, { "latitude": -23.47566, "longitude": -46.560632 }, { "latitude": -23.477506, "longitude": -46.560265 }, { "latitude": -23.478013, "longitude": -46.560216 }, { "latitude": -23.489297, "longitude": -46.55944 }, { "latitude": -23.491673, "longitude": -46.559396 }, { "latitude": -23.492423, "longitude": -46.559429 }, { "latitude": -23.494951, "longitude": -46.559578 }, { "latitude": -23.495221, "longitude": -46.559638 }, { "latitude": -23.49644, "longitude": -46.559807 }, { "latitude": -23.496909, "longitude": -46.559907 }, { "latitude": -23.497132, "longitude": -46.55997 }, { "latitude": -23.49739, "longitude": -46.560054 }, { "latitude": -23.497557, "longitude": -46.560125 }, { "latitude": -23.497823, "longitude": -46.560257 }, { "latitude": -23.498176, "longitude": -46.560481 }, { "latitude": -23.498438, "longitude": -46.560682 }, { "latitude": -23.498649, "longitude": -46.560864 }, { "latitude": -23.49878, "longitude": -46.560998 }, { "latitude": -23.499346, "longitude": -46.561699 }, { "latitude": -23.50041, "longitude": -46.563157 }, { "latitude": -23.500543, "longitude": -46.563314 }, { "latitude": -23.500713, "longitude": -46.56349 }, { "latitude": -23.503395, "longitude": -46.567293 }, { "latitude": -23.504024, "longitude": -46.568062 }, { "latitude": -23.50545, "longitude": -46.569615 }, { "latitude": -23.505634, "longitude": -46.569902 }, { "latitude": -23.506817, "longitude": -46.571473 }, { "latitude": -23.506896, "longitude": -46.571594 }, { "latitude": -23.507072, "longitude": -46.571509 }, { "latitude": -23.507196, "longitude": -46.571456 }, { "latitude": -23.508001, "longitude": -46.571201 }, { "latitude": -23.508212, "longitude": -46.571172 }, { "latitude": -23.508261, "longitude": -46.57117 }, { "latitude": -23.513415, "longitude": -46.571337 }, { "latitude": -23.513461, "longitude": -46.571353 }, { "latitude": -23.51349, "longitude": -46.571382 }, { "latitude": -23.513503, "longitude": -46.571425 }, { "latitude": -23.513508, "longitude": -46.571459 }, { "latitude": -23.513501, "longitude": -46.571531 }, { "latitude": -23.51369, "longitude": -46.571352 }, { "latitude": -23.513908, "longitude": -46.571159 }, { "latitude": -23.513972, "longitude": -46.571109 }, { "latitude": -23.51492, "longitude": -46.570202 }, { "latitude": -23.515991, "longitude": -46.569284 }, { "latitude": -23.516111, "longitude": -46.569171 }, { "latitude": -23.516164, "longitude": -46.569125 }, { "latitude": -23.516657, "longitude": -46.568638 }, { "latitude": -23.51691, "longitude": -46.568476 }, { "latitude": -23.517923, "longitude": -46.56852 }, { "latitude": -23.517961, "longitude": -46.568508 }, { "latitude": -23.517994, "longitude": -46.568493 }, { "latitude": -23.518133, "longitude": -46.568396 }, { "latitude": -23.518172, "longitude": -46.568352 }, { "latitude": -23.518209, "longitude": -46.568297 }, { "latitude": -23.518277, "longitude": -46.568186 }, { "latitude": -23.518283, "longitude": -46.568045 }, { "latitude": -23.518232, "longitude": -46.56793 }, { "latitude": -23.518202, "longitude": -46.567871 }, { "latitude": -23.518167, "longitude": -46.567815 }, { "latitude": -23.518099, "longitude": -46.56776 }, { "latitude": -23.51802, "longitude": -46.567719 }, { "latitude": -23.517944, "longitude": -46.567699 }, { "latitude": -23.517799, "longitude": -46.567682 }, { "latitude": -23.517514, "longitude": -46.567663 }, { "latitude": -23.517671, "longitude": -46.562146 }, { "latitude": -23.517748, "longitude": -46.561831 }, { "latitude": -23.517779, "longitude": -46.561738 }, { "latitude": -23.517791, "longitude": -46.561686 }, { "latitude": -23.518245, "longitude": -46.561393 }, { "latitude": -23.518648, "longitude": -46.561211 }, { "latitude": -23.519091, "longitude": -46.560954 }, { "latitude": -23.52188, "longitude": -46.559088 }, { "latitude": -23.522084, "longitude": -46.55894 }, { "latitude": -23.523725, "longitude": -46.557836 }, { "latitude": -23.524892, "longitude": -46.557144 }, { "latitude": -23.525163, "longitude": -46.556963 }, { "latitude": -23.526088, "longitude": -46.556228 }, { "latitude": -23.526439, "longitude": -46.555879 }, { "latitude": -23.526559, "longitude": -46.555777 }, { "latitude": -23.529327635811413, "longitude": -46.55394657567329 } ] } ], "source": "MAPLINK", "createdAt": 1618242678188 }