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 explica cómo migrar la API de Get Traffic Incidents de Bing Maps a la API de Get Traffic Incident Detail de Azure Maps. Get Traffic Incident Detail API de Azure Maps proporciona datos sobre la construcción, los cierres de carreteras, los accidentes y otros incidentes que pueden afectar al tráfico y se actualizan cada minuto.

Prerrequisitos

Diferencias destacadas

  • Azure Maps Get Traffic Incident Detail API está diseñado para mostrar incidentes de tráfico en iconos de mapa.
  • Azure Maps requiere que se especifique 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.
  • Azure Maps requiere un número que haga referencia al modelo de tráfico (trafficModelId), obtenido de la API Get Traffic Incident Viewport de Azure Maps. 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.
  • Bing Maps Get Traffic Incidents API admite la especificación de la gravedad del incidente de tráfico y los tipos de la solicitud. La API Get Traffic Incident Detail (Obtención de detalles de incidentes de tráfico) de Azure Maps devuelve en su lugar todos los tipos y gravedad del incidente de tráfico de forma predeterminada en la respuesta.
  • La API Obtener Detalles de Incidentes de Tráfico de Azure Maps generalmente proporciona más detalles sobre los retrasos de tráfico que la API Obtener Incidentes de Tráfico de Bing Maps. 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 maneras de autenticar las llamadas API, como una clave de suscripción, un identificador de Microsoft Entra o un 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 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 Get Traffic Incidents de Bing Maps y el equivalente 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 número[] La proyección usada para especificar las boundingbox coordenadas de la solicitud y la respuesta es EPSG900913 (valor predeterminado) o EPSG4326. Utilice projection=EPSG4326 para compatibilidad con la proyección de coordenadas usada en Bing Maps Get Traffic Incidents API. 
cultura c  idioma Falso string Código ISO 639-1 para el lenguaje de salida. Para más información, vea Idiomas admitidos por Azure Maps.
includeJamcidents No está soportado No está soportado No está soportado Azure Maps devuelve condiciones de tráfico anómalas de forma predeterminada.
severidad s  No está soportado No está soportado No está soportado Azure Maps devuelve incidentes de tráfico de todos los niveles de gravedad de forma predeterminada.
tipo t  No está soportado No está soportado No está soportado Azure Maps devuelve incidentes de tráfico de todos los tipos de forma predeterminada.

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

Solicitudes de ejemplo

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 API para obtener detalles de incidentes de tráfico 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 Bing Maps Get Traffic Incidents API y el equivalente de Azure Maps:

Campo de respuesta de Mapas de Bing Campo de respuesta de Azure Maps Descripción
Descripción (JSON)
Descripción (XML)
d  Esta salida se encuentra en el elemento de respuesta tm de Azure Maps. 
End (JSON)
EndTimeUTC (XML) (Hora de finalización en UTC)
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. 
listaDeEventos (JSON)
EventList (XML)
No está soportado
icon (JSON)
Icon (XML)
ic  Esta salida se encuentra en el elemento de respuesta tm de Azure Maps. Consulta IconCategory (ic) para obtener 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 está soportado
isJamcident (JSON)
IsJamcident (XML)
No está soportado
lastModified (JSON)
LastModifiedUTC (XML)
No está soportado
point (JSON)
Point (XML)
p  Esta salida se encuentra en el elemento de respuesta tm de Azure Maps. Consulta point (p) para obtener 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 carretera.  
gravedad (JSON)
Gravedad (XML)
ty  Esta salida está en el elemento de respuesta tm. Consulta DelayMagnitude: (ty) para obtener más información. 
severityScore (JSON)
SeverityScore (XML)
No está soportado
Inicio (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. 
título (JSON)
Título (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. 
tipo (JSON)
Tipo (XML)
c  La salida c en el elemento de respuesta tm de Azure Maps proporciona la causa del incidente, si está disponible. 

Para obtener más información sobre los campos de respuesta de la API Get Traffic Incident Detail API de Azure Maps, consulte 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 Bing Maps:

{
    "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 una solicitud de obtención de detalles de incidentes de tráfico 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 Bing Maps Get Traffic Incidents API, Azure Maps Get Traffic Incident Detail API 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

Apoyo