Compartir a través de


Migración de la API de obtención de incidentes de tráfico de Mapas de Bing

En este artículo se explicar cómo migrar la API Get Traffic Incidents (Obtención de incidentes de tráfico) de Mapas de Bing a la API Get Traffic Incident Detail (Obtención de detalles de incidentes de tráfico) de Azure Maps. La API de Obtención de detalles de incidentes de tráfico Azure Maps proporciona datos sobre obras, cierres de carreteras, accidentes y otros incidentes que pueden afectar al tráfico y se actualizan cada minuto.

Requisitos previos

Diferencias destacadas

  • La API de obtención de detalles de incidentes de tráfico de Azure Maps está diseñada para mostrar incidentes de tráfico en iconos de mapa.
  • En Azure Maps es necesario especificar boundingZoom además de boundingbox. boundingZoom es el nivel de zoom (de 0 a 22) para iconos de trama y vector.
  • En Azure Maps es necesario especificar style. Estilo que se usa para representar el icono en la API [Icono de incidentes de tráfico] de Azure Maps. Esto afecta a las coordenadas de los incidentes de tráfico en la respuesta.
  • En Azure Maps se necesita un número que haga referencia al modelo de tráfico (trafficModelId), obtenido de la API de visualización de incidentes de tráfico de Azure Maps Get Traffic Incident Viewport. Se actualiza cada minuto y es válido durante dos minutos antes de que se agote el tiempo de espera. Si se especifica el identificador de modelo de tráfico incorrecto, la interfaz devuelve el valor correcto. Como alternativa al uso de Get Traffic Incident Viewport API de Azure Maps, al pasar un valor de -1 para el id. de modelo de tráfico en el icono de incidentes de tráfico de Azure Maps la solicitud Icono de incidente de tráfico siempre invoca el modelo de tráfico más reciente.
  • Get Traffic Incidents API de Mapas de Bing admite la especificación de los tipos y la gravedad del incidente de tráfico en la solicitud. La API Get Traffic Incident Detail de Azure Maps devuelve en su lugar todos los tipos y la gravedad del incidente de tráfico de manera predeterminada en la respuesta.
  • La API Get Traffic Incident Detail de Azure Maps generalmente proporciona más detalles sobre los retrasos del tráfico que la API Get Traffic Incidents de Mapas de Bing. En concreto, en Azure Maps, la salida de dl proporciona un tiempo de retraso en segundos producido por el incidente de tráfico y la salida de DelayMagnitude proporciona la magnitud del retraso asociado al incidente (estos valores se corresponden a los colores del incidente en los iconos de tráfico).
  • A diferencia de Mapas de Bing para la empresa, Azure Maps es un servicio global que admite la especificación de un ámbito geográfico, lo que le permite limitar la residencia de datos a las áreas geográficas (geoáreas) de Europa (EU) 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 del servicio de Azure Maps.

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 las llamadas API, como una clave de suscripción, Microsoft Entra ID o un token de firma de acceso compartido (SAS). Para más información sobre la seguridad y la autenticación en Azure Maps, vea Autenticación con Azure Maps y la sección Seguridad en la documentación de obtención de detalles de incidentes de tráfico de Azure Maps.

Parámetros de solicitud

En la tabla siguiente se enumeran los parámetros de solicitud de Get Traffic Incidents de Mapas de Bing y los equivalentes de 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
mapArea boundingbox Verdadero number[] La proyección usada para especificar las coordenadas de boundingbox en la solicitud y la respuesta es EPSG900913 (valor predeterminado) o EPSG4326. Use projection=EPSG4326 para la compatibilidad con la proyección de coordenadas usada en Get Traffic Incidents API de Mapas de Bing. 
culture c  language False string Código ISO 639-1 para el idioma de salida. Para más información, vea Idiomas admitidos por Azure Maps.
includeJamcidents No compatible No compatible No compatible Azure Maps devuelve condiciones de tráfico anómalas de manera predeterminada.
severity s  No compatible No compatible No compatible Azure Maps devuelve incidentes de tráfico de todos los niveles de gravedad de manera predeterminada.
type t  No compatible No compatible No compatible Azure Maps devuelve incidentes de tráfico de todos los tipos de manera predeterminada.

Para más información sobre los parámetros de solicitud de Azure Maps, vea Parámetros de URI en la documentación de Get Traffic Incident Detail API de Azure Maps.

Ejemplos de solicitud

Solicitud de la API Get Traffic Incidents de Mapas de Bing:

http://dev.virtualearth.net/REST/v1/Traffic/Incidents/37.8203,-122.2763,37.8321,-122.2542?key={Your-Bing-Maps-Key}

Solicitud de la API Get Traffic Incident Detail de Azure Maps:

http://atlas.microsoft.com/traffic/incident/detail/json?api-version=1.0&style=s3&boundingbox=37.8203,-122.2763,37.8321,-122.2542&boundingZoom=11&projection=EPSG4326&trafficmodelid=-1&subscription-key={Your-Azure-Maps-Subscription-key} 

Campos de respuesta

En la tabla siguiente se enumeran los campos que pueden aparecer en la respuesta HTTP al ejecutar la API Get Traffic Incidents de Mapas de Bing y el equivalente de Azure Maps:

Campo de respuesta de Mapas de Bing Campo de respuesta de Azure Maps Descripción
Description (Json)
Description (XML)
d  Esta salida se encuentra en el elemento de respuesta tm de Azure Maps. 
End (Json)
EndTimeUTC (XML)
ed  Esta salida se encuentra en el elemento de respuesta tm de Azure Maps. La fecha se describe en el formato ISO8601 e incluye la hora en UTC. 
eventList (Json)
EventList (XML)
No compatible
icon (Json)
Icon (XML)
ic  Esta salida se encuentra en el elemento de respuesta tm de Azure Maps. Vea IconCategory (ic) para más información. 
incidentId (Json)
IncidentId (XML)
id Esta salida se encuentra en el elemento de respuesta tm de Azure Maps. 
isEndTimeBackfilled (Json)
IsEndTimeBackfilled (XML)
No compatible
isJamcident (Json)
IsJamcident (XML)
No compatible
lastModified (Json)
LastModifiedUTC (XML)
No compatible
point (Json)
Point (XML)
p  Esta salida se encuentra en el elemento de respuesta tm de Azure Maps. Vea point (p) para más información. 
roadClosed (Json)
RoadClosed (XML)
Ver descripción La salida IconCategory del elemento de respuesta tm de Azure Maps se puede usar para indicar un cierre de carreteras.  
severity (Json)
Severity (XML)
ty  Esta salida se encuentra en el elemento de respuesta tm. Vea DelayMagnitude: (ty) obtener más información. 
severityScore (Json)
SeverityScore (XML)
No compatible
Start (Json)
StartTimeUTC (XML)
sd  Esta salida se encuentra en el elemento de respuesta tm de Azure Maps. La fecha se describe en el formato ISO8601 e incluye la hora en UTC. 
title (Json)
Title (XML)
Ver descripción La salida f en el elemento de respuesta tm de Azure Maps proporciona el nombre de la intersección o la ubicación donde se inicia el tráfico causado por el incidente y puede servir como alternativa a la salida de title de Mapas de Bing. 
toPoint (Json)
ToPoint (XML)
Ver descripción La salida t en el elemento de respuesta tm de Azure Maps proporciona el nombre de la intersección o la ubicación donde finaliza el tráfico causado por el incidente y puede servir como alternativa a la salida de toPoint de Mapas de Bing. 
type (Json)
Type (XML)
c  La salida c en el elemento de respuesta tm de Azure Maps proporciona la causa del incidente, si está disponible. 

Para más información sobre los campos de respuesta de la API Get Traffic Incident Detail de Azure Maps, vea Respuestas.

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 Get Traffic Incidents 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": "TrafficIncident:http://schemas.microsoft.com/search/local/ws/rest/v1",
                    "point": {
                        "type": "Point",
                        "coordinates": [
                            37.824025,
                            -122.265829
                        ]
                    },
                    "alertCCodes": [
                        10
                    ],
                    "delay": 0,
                    "description": "Flooding on Telegraph Ave from I-580/W MacArthur Blvd to W MacArthur Blvd.",
                    "end": "/Date(1711764788159)/",
                    "eventList": [
                        907
                    ],
                    "icon": 0,
                    "incidentId": 14648704852012000,
                    "isEndTimeBackfilled": true,
                    "isJamcident": false,
                    "lastModified": "/Date(1711757588159)/",
                    "roadClosed": false,
                    "severity": 4,
                    "severityScore": 79,
                    "source": 5,
                    "start": "/Date(1711749960000)/",
                    "title": "Telegraph Ave",
                    "toPoint": {
                        "type": "Point",
                        "coordinates": [
                            37.824601,
                            -122.265675
                        ]
                    },
                    "type": 5,
                    "verified": true
                }
            ]
        }
    ],
    "statusCode": 200,
    "statusDescription": "OK",
    "traceId": "35657cf08e01f49cd50543aa7d88c139|MWH0032BF3|0.0.0.0"
}

En el ejemplo JSON siguiente se muestra lo que se devuelve en el cuerpo de la respuesta HTTP al ejecutar la solicitud Get Traffic Incident Detail de Azure Maps:

{
    "tm": {
        "@id": "1711765520",
        "poi": [
            {
                "id": "0043f39aed6a43411b869729bc30cba4",
                "p": {
                    "x": -122.2631419,
                    "y": 37.8235763
                },
                "ic": 11,
                "ty": 0,
                "cs": 0,
                "d": "Flooding",
                "sd": "2024-03-29T22:06:00Z",
                "f": "I-580/W MacArthur Blvd (Telegraph Ave)",
                "t": "W MacArthur Blvd (Telegraph Ave)",
                "l": 66
            }
        ]
    }
}

Uso de transacciones

Al igual que la API Get Traffic Incidents de Mapas de Bing, la API Get Traffic Incident Detail de Azure Maps registra una transacción facturable por solicitud. Para más información sobre las transacciones de Azure Maps, vea Descripción de las transacciones de Azure Maps.

Información adicional

Otras API de tráfico de Azure Maps

Soporte técnico