Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se explica cómo migrar Bing Maps Calculate a Truck Route API a Route Directions API de Azure Maps. Route Directions API de Azure Maps devuelve la ruta ideal entre un origen y destino para automóviles (conducción), camiones comerciales y rutas a pie, al tiempo que tiene en cuenta las leyes locales, dimensiones de vehículo, tipo de carga, velocidad máxima, puente y alturas de túnel para calcular las rutas específicas del camión y evitar maniobras complejas y carreteras difíciles. Para obtener la ruta de camiones en la API de Direcciones de Ruta de Azure Maps, especifique truck para el parámetro de entrada travelMode
en la solicitud.
Prerrequisitos
- Una cuenta de Azure
- Una cuenta de Azure Maps
- Una clave de suscripción u otra forma de Autenticación con Azure Maps
Diferencias destacadas
- Bing Maps Calculate a Truck Route es una API independiente dedicada al enrutamiento de camiones. Route Directions API de Azure Maps proporciona compatibilidad con el enrutamiento de camiones cuando
travelMode=truck
se especifica en la solicitud. - Bing Maps Calculate a Truck Route API admite solicitudes GET o POST. Route Directions API de Azure Maps admite solicitudes POST.
- Bing Maps Calculate a Truck Route API admite formatos de respuesta XML y JSON. Route Directions API de Azure Maps admite el formato de respuesta GeoJSON.
- Bing Maps Calculate a Truck Route API admite un máximo de 25 paradas intermedias o puntos viaWaypoints por solicitud. Route Directions API de Azure Maps admite hasta 150 puntos de referencia por solicitud, pero no admite viaWaypoints.
- A diferencia de Bing Maps for Enterprise, Azure Maps es un servicio global que admite la especificación de un ámbito geográfico, lo que permite límites de residencia de datos a las áreas geográficas (geo) europeas (UE) o Estados Unidos (EE. UU.). Todas las solicitudes (incluidos los datos de entrada) se procesan exclusivamente en el área geográfica especificada. Para obtener más información, consulte ámbito geográfico.
Seguridad y autenticación
Mapas de Bing para la empresa solo admite la autenticación de clave de API. Azure Maps admite varias formas de autenticar llamadas API, como una clave de suscripción, Microsoft Entra ID y token de firma de acceso compartido (SAS). Para más información sobre la seguridad y la autenticación en Azure Maps, consulte Autenticación con Azure Maps y la sección Seguridad de la documentación de Route Directions de Azure Maps.
Parámetros de solicitud
En la tabla siguiente se enumeran los parámetros de solicitud de Bing Maps Calculate a Truck Route y su equivalente en Azure Maps.
Parámetro de solicitud de Bing Maps | Alias del parámetro de solicitud de Bing Maps | Parámetro de solicitud de Azure Maps | Obligatorio en Azure Maps | Tipo de datos de Azure Maps | Descripción |
---|---|---|---|---|---|
evitar | evitar | Falso | cuerda | Estos son los equivalentes de avoid de la API de indicaciones de ruta de Azure Maps, donde se admiten: - peajes: tollRoads - ferry: ferries - borderCrossings: borderCrossings - autopistas: limitedAccessHighways - minimizeDrivingSideTurn: no admitido - minimizeAgainstDrivingSideTurn: no admitido - minimizeUTurn: no admitido - minimizeTolls: no admitido - minimizeHighways: no admitido |
|
restricción fronteriza | No compatible | No compatible | No compatible | En Route Directions API de Azure Maps, se puede usar avoid=borderCrossings para restringir las rutas que crucen las fronteras entre países; sin embargo, no se admite especificar una lista de regiones para la restricción de fronteras. | |
fechaHora | Despegue | departAt | Falso | cuerda / cadena | Route Directions API de Azure Maps también admite el arriveAt parámetro que se usa para especificar la fecha y hora de llegada deseadas. No se puede usar con departAt . |
dimensionUnit | Dims | No compatible | No compatible | No compatible | En Route Directions API de Azure Maps, la unidad para las dimensiones de altura, ancho y longitud del camión es metros. |
distanceUnit | Du | No compatible | No compatible | No compatible | En Route Directions API de Azure Maps, la unidad de distancia es metros. |
distanciaAntesDelPrimerGiro | dbft | No compatible | No compatible | No compatible | |
encabezado | disco duro | encabezado | Falso | entero | |
optimizar | optmz | optimizeRoute | Falso | cuerda / cadena | Estos son los equivalentes de la API de Cálculo de Rutas para Camiones de Bing Maps a la API de Direcciones de Rutas de Azure Maps optimizeRoute :- time: fastestWithoutTraffic - timeWithTraffic: fastestWithTraffic La API de indicaciones de ruta de Azure Maps también admite la optimización de rutas por distancia para devolver la ruta más corta especificando el valor de entrada optimizeRoute . |
optimizeWaypoints | optWp | optimizeWaypointOrder | Falso | booleano | |
atributos de la ruta | Ra | routeOutputOptions | Falso | cuerda / cadena | Estos son los equivalentes de Bing Maps a Route Directions API routeOutputOptions de Azure Maps:- routePath: routePath - regionAdvisorSummary: regionClientSummary Route Directions API de Azure Maps admite valores adicionales como itinerary y routeSummary . Para obtener más información, consulte RouteOutputOption. |
Tolerancias | Tl | No compatible | No compatible | No compatible | |
viawaypoint.n | vwp.n | No compatible | No compatible | No compatible | |
vehicleHeight | altura | altura | Falso | número | |
anchoDelVehículo | Ancho | Ancho | Falso | número | |
vehicleLength | Vl | largura | Falso | número | |
vehicleWeight | peso | peso | Falso | entero | |
vehicleAxles | Ejes | No compatible | No compatible | No compatible | Route Directions API de Azure Maps admite restricciones de peso por eje que se pueden especificar mediante el parámetro axleWeight . |
vehicleTrailers | Vt | No compatible | No compatible | No compatible | La longitud del remolque podría agregarse a la longitud del vehículo que se debe tener en cuenta para las restricciones. |
vehicleSemi | semi | No compatible | No compatible | No compatible | Los semi-camiones generalmente se encuentran en la categoría de vehículos comerciales. Route Directions API de Azure Maps admite la propiedad isVehicleCommercial que se podría usar para camiones semirremolques. |
vehicleMaxGradient | vmg | No compatible | No compatible | No compatible | |
vehicleMinTurnRadius | vmtr | No compatible | No compatible | No compatible | |
vehicleHazardousMaterials | vhm | tipo de carga | Falso | cuerda / cadena | Consulte los tipos de carga de vehículos de la API de indicaciones de ruta de Azure Maps para conocer las correspondientes clases de materiales peligrosos del 1 al 9 de EE.UU., y la clasificación genérica de tipos de carga a material peligroso en la API de cálculo de rutas de camión de Mapas de Bing. |
vehicleHazardousPermits | Vhp | No compatible | No compatible | No compatible | |
waypoint.n | wp.n | características InputWaypointFeaturesItem[] | Cierto | Punto GeoJSON | |
weightUnit | Wu | No compatible | No compatible | No compatible | En Route Directions API de Azure Maps, la unidad de peso es de kilos (kg). |
Para más información sobre los parámetros de solicitud de Route Directions API de Azure Maps, consulte Parámetros de URI.
Solicitudes de ejemplo
Solicitud POST de la API de cálculo de rutas de camión de Mapas de Bing:
https://dev.virtualearth.net/REST/v1/Routes/Truck?key={Your-Bing-Maps-Key}
Incluido en el cuerpo de la solicitud:
{
"waypoints": [{
"latitude": 47.610133,
"longitude": -122.201478
},{
"latitude": 47.610096,
"longitude": -122.192463
}],
"vehicleSpec": {
"vehicleHazardousMaterials": "Flammable"
}
}
Solicitud POST de la API de Indicaciones de Ruta de Azure Maps:
https://atlas.microsoft.com/route/directions?api-version=2025-01-01&subscription-key={Your-Azure-Maps-Subscription-key}
Incluido en el cuerpo de la solicitud:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"coordinates": [
-122.201478, 47.610133
],
"type": "Point"
},
"properties": {
"pointIndex": "0",
"pointType": "waypoint"
}
},
{
"type": "Feature",
"geometry": {
"coordinates": [
-122.192463, 47.610096
],
"type": "Point"
},
"properties": {
"pointIndex": "1",
"pointType": "waypoint"
}
}
],
"RouteOutputOptions": [
"itinerary"
],
"travelMode": "truck",
"vehicleSpec": {
"loadType": [
"USHazmatClass3",
"USHazmatClass4"
]
}
}
Campos de respuesta
En la tabla siguiente se enumeran los campos que pueden aparecer en la respuesta HTTP al ejecutar la solicitud Cálculo de una ruta de camión de Mapas de Bing y el equivalente de Azure Maps:
Campo de Bing Maps | Campo de Azure Maps | Descripción |
---|---|---|
actualEnd | Objeto de característica puntual | El objeto de característica de punto con type="waypoint" e inputIndex = last define la ubicación final de la ruta. |
actualStart | Objeto de característica puntual | El objeto de característica puntual con type="waypoint" y inputIndex = 0 define la ubicación inicial enrutable. |
alternateVias | rutas alternativas |
alternateVias de Mapas de Bing identifica las rutas independientes. En Route Directions API de Azure Maps, las rutas alternativas se devuelven como una nueva colección de características en alternativeRoutes . |
compassDegrees | No compatible | |
compassDirection | No compatible | |
descripción | No compatible | |
Detalles | Propiedades | Las propiedades del objeto de característica contienen la información de la maniobra. |
distanceUnit | No aplicable | Route Directions API de Azure Maps devuelve la distancia en metros de forma predeterminada. |
durationUnit | No aplicable | Route Directions API de Azure Maps devuelve la duración en segundos. |
endPathIndices | gama | La API de indicaciones de ruta de Azure Maps devuelve el índice inicial y final cubierto por una parte específica de una ruta como un intervalo. |
endWaypoint | No compatible | En la respuesta de la API de indicaciones de ruta de Azure Maps, el punto de conexión se puede derivar del índice type="waypoint" e inputIndex = last |
formattedText | formattedText | |
Consejos | No compatible | |
hintType | No compatible | |
tipoDeIcono | No compatible | |
instrucción | instrucción | |
isRealTimeTransit | No compatible | |
isVia | No compatible | Route Directions API de Azure Maps no admite viaWaypoint para rutas de camión. |
códigos de ubicación | No compatible | |
identificadorDeUbicación | No compatible | |
punto de maniobra | punto de maniobra | En Azure Maps, _type=maneuverPoin_t es para objetos de punto en los que se requiere una maniobra. |
tipoDeManiobra | tipoDeManiobra | |
modo | No compatible | |
Nombres | Nombres | |
realTimeTransitDelay | No compatible | |
roadType | No compatible | |
routePathIndex | routePathPoint | |
routeSubLegs | subLegs | |
sideOfStreet | sideOfStreet | |
startPathIndices | gama | La API de indicaciones de ruta de Azure Maps devuelve el índice inicial y final cubierto por una parte específica de una ruta como un intervalo. |
startWaypoint | No compatible | En la respuesta de la API de direcciones de ruta de Azure Maps, el punto de partida se puede derivar de type="waypoint" y el índice inputIndex = primero. |
towardsRoadName | towardsRoadName | |
trafficCongestion | No compatible | |
trafficDataUsed | trafficDataUsed | |
distancia de viaje | distanciaEnMetros | |
duraciónDelViaje | duraciónEnSegundos | |
travelDurationTraffic | durationTrafficInSeconds | |
modo de viaje | modo de viaje |
Para más información sobre los campos de respuesta de Route Directions API de Azure Maps, consulte Definiciones.
Ejemplos de respuesta
En el ejemplo JSON siguiente se muestra lo que se devuelve en el cuerpo de la respuesta HTTP al ejecutar la solicitud Calcular una ruta de camión de Mapas de Bing:
{
"authenticationResultCode": "ValidCredentials",
"brandLogoUri": "https://dev.virtualearth.net/Branding/logo_powered_by.png",
"copyright": "Copyright © 2024 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.",
"resourceSets": [
{
"estimatedTotal": 1,
"resources": [
{
"__type": "Route:http://schemas.microsoft.com/search/local/ws/rest/v1",
"bbox": [
47.610017,
-122.201495,
47.610133,
-122.192518
],
"distanceUnit": "Mile",
"durationUnit": "Second",
"routeLegs": [
{
"actualEnd": {
"type": "Point",
"coordinates": [
47.610052,
-122.192518
]
},
"actualStart": {
"type": "Point",
"coordinates": [
47.610109,
-122.201495
]
},
"alternateVias": [],
"description": "Main St",
"itineraryItems": [
{
"compassDirection": "east",
"details": [
{
"compassDegrees": 91,
"endPathIndices": [
1
],
"locationCodes": [
"114+10725"
],
"maneuverType": "DepartStart",
"mode": "Driving",
"names": [
"Main St"
],
"roadType": "Arterial",
"startPathIndices": [
0
]
}
],
"iconType": "Auto",
"instruction": {
"formattedText": "<Action>Head</Action> <CmpsDir>east</CmpsDir> on <RoadName>Main St</RoadName> toward <Toward>105th Ave NE</Toward>",
"maneuverType": "DepartStart",
"text": "Head east on Main St toward 105th Ave NE"
},
"isRealTimeTransit": false,
"maneuverPoint": {
"type": "Point",
"coordinates": [
47.610109,
-122.201495
]
},
"realTimeTransitDelay": 0,
"sideOfStreet": "Unknown",
"towardsRoadName": "105th Ave NE",
"travelDistance": 0.418804,
"travelDuration": 68,
"travelMode": "Driving"
},
{
"compassDirection": "east",
"details": [
{
"compassDegrees": 90,
"endPathIndices": [
1
],
"locationCodes": [
"114+10725"
],
"maneuverType": "ArriveFinish",
"mode": "Driving",
"names": [
"Main St"
],
"roadType": "Arterial",
"startPathIndices": [
1
]
}
],
"hints": [
{
"hintType": "PreviousIntersection",
"text": "The last intersection before your destination is 110th Pl SE"
}
],
"iconType": "Auto",
"instruction": {
"formattedText": "<Action>Arrive</Action> at <WaypointName>Stop: Y, X = 47.610096, -122.192463</WaypointName>",
"maneuverType": "ArriveFinish",
"text": "Arrive at Stop: Y, X = 47.610096, -122.192463"
},
"isRealTimeTransit": false,
"maneuverPoint": {
"type": "Point",
"coordinates": [
47.610052,
-122.192518
]
},
"realTimeTransitDelay": 0,
"sideOfStreet": "Unknown",
"travelDistance": 0,
"travelDuration": 0,
"travelMode": "Driving"
}
],
"routeSubLegs": [
{
"endWaypoint": {
"type": "Point",
"coordinates": [
47.610052,
-122.192518
],
"description": "Stop: Y, X = 47.610096, -122.192463",
"isVia": false,
"locationIdentifier": "",
"routePathIndex": 1
},
"startWaypoint": {
"type": "Point",
"coordinates": [
47.610109,
-122.201495
],
"description": "Stop: Y, X = 47.610133, -122.201478",
"isVia": false,
"locationIdentifier": "",
"routePathIndex": 0
},
"travelDistance": 0.418805,
"travelDuration": 68
}
],
"travelDistance": 0.418805,
"travelDuration": 68,
"travelMode": "Truck"
}
],
"trafficCongestion": "Medium",
"trafficDataUsed": "None",
"travelDistance": 0.418805,
"travelDuration": 68,
"travelDurationTraffic": 93,
"travelMode": "Truck"
}
]
}
],
"statusCode": 200,
"statusDescription": "OK",
"traceId": "bb78d3da62a71f62683cea8e6653806f|MWH0032BED|0.0.0.0|MWH0031C93,Leg0-MWH0031C91"
}
En el ejemplo JSON siguiente se muestra lo que se devuelve en el cuerpo de la respuesta HTTP al ejecutar la solicitud de Get Map Tile de Azure Maps:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.2015,
47.61013
]
},
"properties": {
"durationInSeconds": 0,
"distanceInMeters": 3.00,
"routePathPoint": {
"legIndex": 0,
"pointIndex": 0
},
"travelMode": "truck",
"instruction": {
"formattedText": "Leave from <street>Bellevue Way SE</street>",
"maneuverType": "DepartStart",
"text": "Leave from Bellevue Way SE"
},
"towardsRoadName": "Bellevue Way SE",
"steps": [
{
"maneuverType": "DepartStart",
"routePathRange": {
"legIndex": 0,
"range": [
0,
1
]
},
"names": [
"Bellevue Way SE"
]
}
],
"type": "ManeuverPoint"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.2015,
47.61011
]
},
"properties": {
"durationInSeconds": 111,
"distanceInMeters": 724.00,
"routePathPoint": {
"legIndex": 0,
"pointIndex": 1
},
"travelMode": "other",
"instruction": {
"formattedText": "Turn left onto <street>Main St</street>",
"maneuverType": "TurnLeft",
"text": "Turn left onto Main St"
},
"towardsRoadName": "Main St",
"steps": [
{
"maneuverType": "TurnLeft",
"routePathRange": {
"legIndex": 0,
"range": [
1,
32
]
},
"names": [
"Main St"
]
}
],
"type": "ManeuverPoint"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.19195,
47.61005
]
},
"properties": {
"durationInSeconds": 14,
"distanceInMeters": 7.00,
"routePathPoint": {
"legIndex": 0,
"pointIndex": 32
},
"travelMode": "truck",
"instruction": {
"formattedText": "Turn left",
"maneuverType": "TurnLeft",
"text": "Turn left"
},
"steps": [
{
"maneuverType": "TurnLeft",
"routePathRange": {
"legIndex": 0,
"range": [
32,
33
]
}
}
],
"type": "ManeuverPoint"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.19195,
47.61011
]
},
"properties": {
"durationInSeconds": 0,
"distanceInMeters": 0.00,
"routePathPoint": {
"legIndex": 0,
"pointIndex": 33
},
"travelMode": "truck",
"instruction": {
"formattedText": "You have arrived. Your destination is on the left",
"maneuverType": "ArriveFinish",
"text": "You have arrived. Your destination is on the left"
},
"sideOfStreet": "Left",
"steps": [
{
"maneuverType": "ArriveFinish",
"routePathRange": {
"legIndex": 0,
"range": [
33,
33
]
}
}
],
"type": "ManeuverPoint"
}
},
{
"type": "Feature",
"geometry": {
"type": "MultiLineString",
"coordinates": []
},
"properties": {
"resourceId": "/ZlIBcVsx0+/BcpEi208gQ==",
"trafficDataUsed": "FlowAndClosure",
"distanceInMeters": 734.00,
"durationInSeconds": 100,
"departureTime": "2024-04-08T20:20:25+00:00",
"arrivalTime": "2024-04-08T20:22:30+00:00",
"type": "RoutePath",
"legs": []
}
}
]
}
Uso de transacciones
Bing Maps Calculate a Truck Route API registra tres transacciones facturables por solicitud de API. Route Directions API de Azure Maps registra una transacción facturable por solicitud de API. Para más información sobre las transacciones de Azure Maps, vea Descripción de las transacciones de Azure Maps.
Información adicional
- Post Directions Batch: use para enviar un lote de consultas a Route Directions API en una única solicitud sincrónica.
Apoyo