Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo spiega come migrare l'API di Bing Maps Calculate a Route all'API di Azure Maps Route Directions. Azure Maps Indicazioni Stradali è un'API che restituisce l'itinerario ideale tra un'origine e una destinazione per automobili, camion commerciali e percorsi a piedi. Il percorso considera fattori quali il traffico corrente e le velocità tipiche della strada nel giorno richiesto della settimana e dell'ora del giorno.
Prerequisiti
- Un account di Azure
- Un account di Azure Maps
- Una chiave di sottoscrizione o un altro tipo di autenticazione con Mappe di Azure
Differenze rilevanti
- Bing Maps Calculate a Route API supporta una richiesta GET. L'API Indicazioni stradali di Mappe di Azure supporta una richiesta POST.
- Bing Maps Calculate a Route API supporta il formato di risposta XML e JSON. L'API Indicazioni stradali di Mappe di Azure supporta il formato GeoJSON .
- Bing Maps Calculate a Route API richiede che i waypoints e i viaWaypoints siano in formato latitudine/longitudine, mentre Azure Maps richiede che siano in formato longitudine/latitudine, come definito nel formato GeoJSON.
- Bing Maps Calculate a Route API supporta waypoints e viaWaypoints come punti, punti di riferimento o indirizzi. L'API Indicazioni stradali di Mappe di Azure supporta solo i punti. Per convertire un punto di riferimento o un indirizzo in un punto, è possibile usare l'API Get Geocoding di Mappe di Azure.
- L'API Calcolo di un Percorso di Bing Maps supporta il routing di transito. L'API indicazioni stradali di Azure Maps non lo fa.
- A differenza di Bing Maps for Enterprise, Azure Maps è un servizio globale che supporta la specifica di un ambito geografico, consentendo di limitare la residenza dei dati alle aree geografiche dell'Unione Europea (UE) o degli Stati Uniti (US). Tutte le richieste (inclusi i dati di input) vengono elaborate esclusivamente nell'area geografica specificata. Per altre informazioni, vedere Ambito geografico.
Sicurezza e autenticazione
Bing Maps for Enterprise supporta solo l'autenticazione con chiave API. Mappe di Azure supporta diversi modi per autenticare le chiamate API, ad esempio una chiave di sottoscrizione, Microsoft Entra ID e il token di firma di accesso condiviso (SAS). Per altre informazioni sulla sicurezza e l'autenticazione in Mappe di Azure, vedere Autenticazione con Mappe di Azure e la sezione Sicurezza nella documentazione sulle indicazioni stradali di Mappe di Azure.
Parametri della richiesta
La tabella seguente elenca i parametri di richiesta di Calcolo di un Percorso di Bing Maps e l'equivalente in Mappe di Azure:
Parametro di richiesta Bing Maps | Alias parametro di richiesta Bing Mappe | Parametro della richiesta di Azure Maps | Obbligatorio in Mappe di Azure | Tipo di dati di Azure Maps | Descrizione |
---|---|---|---|---|---|
evitare | evitare | Falso | corda | Di seguito è riportato il calcolo di un'API di route all'API Route Directions di Mappe di Azure per evitare equivalenti, se supportato: pedaggi: strade a pedaggio traghetto: traghetti attraversamentiDiConfine: attraversamentiDiConfine minimizeDrivingSideTurn: Non supportato MinimizeAgainstDrivingSideTurn: non supportato minimizeUTurn: non supportato minimizeTolls: non supportato autostrade: autostrade a accesso limitato minimizeHighways: non supportato |
|
dataOra | Dt | partireA | Falso | corda | L'API Indicazioni stradali di Mappe di Azure supporta anche il parametro arriveAt usato per specificare la data e l'ora di arrivo desiderate. Non può essere usato con departAt. |
distanzaPrimaDelPrimoSvolta | dbft | Non supportato | Non supportato | Non supportato | |
unità di distanza | Du | Non obbligatorio | Non obbligatorio | Non obbligatorio | Nell'API Indicazioni stradali di Mappe di Azure l'unità di distanza è metri. |
intestazione | disco rigido | intestazione | Falso | numero intero | |
itinerarioGruppi | IG | Non supportato | Non supportato | ||
maxSolutions | maxSolns | conteggio massimo percorsi | Falso | Numero intero | |
ottimizzare | optmz | ottimizzaPercorso | Falso | Stringa | Di seguito sono riportati gli equivalenti della funzione OptimizeRoute tra l'API Calcola un Percorso di Bing Maps e l'API Direzioni del Percorso di Azure Maps. tempo: più veloce senza traffico tempoConTraffico: piùVeloceConTraffico L'API indicazioni stradali di Mappe di Azure supporta anche l'ottimizzazione delle route per distanza per restituire la route più breve specificando il valore di input "optimizeRoute". |
ottimizzarePuntiDiPassaggio | optWp | optimizeWaypointOrder | Falso | booleano | |
attributiDelPercorso | Ra | opzioniDiUscitaDelPercorso (routeOutputOptions) | Falso | corda | Ecco gli equivalenti di Bing Maps Calculate a Route API agli equivalenti di Azure Maps Route Directions API routeOutputOptions. routePath: routePath riassuntoViaggioRegione: riassuntoViaggioRegione L'API indicazioni stradali di Mappe di Azure supporta più valori, ad esempio itinerario e routeSummary. Per informazioni dettagliate, vedere RouteOutputOption. |
routePathOutput | RPO | opzioniDiUscitaDelPercorso (routeOutputOptions) | Falso | corda | L'API di Azure Maps per le indicazioni stradali supporta la restituzione delle coordinate per la geometria del percorso passando routeOutputOptions=routePath nella richiesta. |
tipo di tempo | Tt | Non supportato | Non supportato | Non supportato | L'API indicazioni stradali di Mappe di Azure non supporta il routing di transito. |
Tolleranze | Tl | Non supportato | Non supportato | Non supportato | |
modalità di viaggio | modalità di viaggio | Falso | Stringa | Di seguito sono riportati gli equivalenti del travelMode dell'API Bing Maps Calculate a Route nell'API Azur Maps Route Directions: Guida: guida Camminare: camminare Transito: non supportato Azure Maps supportano una modalità di viaggio extra "truck" per la navigazione di autocarri. |
|
viaWaypoint.n | vwp.n | caratteristiche IngressCaratteristichePuntoDiPercorsoItem[] |
Vero | Punto GeoJSON | waypoint e viaWaypoint vengono specificati come funzionalità, ovvero un parametro obbligatorio. Tuttavia, solo waypoint è un pointType obbligatorio e la richiesta può essere effettuata senza viaWaypoint. Nell'API Calcola Itinerario di Bing Maps, viaWaypoint può essere un punto, un punto di riferimento o un indirizzo, mentre nell'API Route Directions di Azure Maps deve essere un punto. Per convertire un punto di riferimento o un indirizzo in un punto, è possibile usare l'API Get Geocoding di Mappe di Azure. Bing Maps Calculate a Truck Route API richiede che viaWaypoints sia in formato latitudine/longitudine, mentre Mappe di Azure richiede che siano in formato longitudine/latitudine, come definito nel formato GeoJSON. |
waypoint.n | wp.n | features InputWaypointFeaturesItem[] | Vero | Punto GeoJSON | Nell'API Calcolare un Percorso di Bing Maps, un waypoint può essere un punto, un punto di riferimento o un indirizzo, mentre, nell'API Indicazioni Stradali di Azure Maps, deve essere un punto. Per convertire un punto di riferimento o un indirizzo in un punto, è possibile usare l'API Get Geocoding di Mappe di Azure. Bing Maps Calculate a Route API richiede che i punti di percorso siano in formato latitudine/longitudine, mentre Mappe di Azure richiede che siano in formato longitudine/latitudine, come definito nel formato GeoJSON. |
Per altre informazioni sui parametri di richiesta dell'API Route Directions di Mappe di Azure, vedere Parametri URI.
Esempi di richiesta
Bing Maps Calcola una richiesta API di route :
http://dev.virtualearth.net/REST/V1/Routes/driving?wp.0=47.610173,-122.204171&wp.1=47.612440,-122.204171key={Your-Bing-Maps-Key}
Richiesta POST API Route Directions di Mappe di Azure:
https://atlas.microsoft.com/route/directions?api-version=2025-01-01&subscription-key={Your-Azure-Maps-Subscription-key}
Incluso nel corpo della richiesta:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"coordinates": [
-122.204171,
47.610173
],
"type": "Point"
},
"properties": {
"pointIndex": 0,
"pointType": "waypoint"
}
},
{
"type": "Feature",
"geometry": {
"coordinates": [
-122.204171,
47.612440
],
"type": "Point"
},
"properties": {
"pointIndex": 1,
"pointType": "Waypoint"
}
}
]
}
Campi di risposta
La tabella seguente elenca i campi che possono essere visualizzati nella risposta HTTP quando si esegue Bing Maps Calcola una richiesta di route e l'equivalente di Mappe di Azure:
Campo di Bing Maps | Campo mappe di Azure | Descrizione |
---|---|---|
actualStart | Oggetto feature point | L'oggetto feature point con type="waypoint" e inputIndex = 0 definisce la posizione iniziale instradabile. |
fine effettiva | Oggetto feature point | Oggetto feature point con type="waypoint" e inputIndex = last definisce la posizione finale instradabile. |
alternateVias | percorsi alternativi | Bing Maps percorsi alternativi identifica i percorsi separati. In Mappe di Azure le route alternative vengono restituite come nuova raccolta di funzionalità in alternativeRoutes. |
gradi della bussola | gradi della bussola | |
direzione della bussola | direzione della bussola | |
descrizione | Non supportato | |
Dettagli | proprietà | Le proprietà dell'oggetto caratteristica contengono le informazioni della manovra. |
unità di distanza | Non applicabile | L'API route directions di Mappe di Azure restituisce la distanza in metri. |
unità di durata | Non applicabile | L'API indicazioni stradali di Mappe di Azure restituisce la durata in secondi. |
IndiciFinePercorso | intervallo | Azure Maps restituisce l'indice di inizio e di fine coperto da un tratto specifico di un itinerario sotto forma di intervallo. |
endWaypoint | Non supportato | Nella risposta dell'API Route Directions di Mappe di Azure, endWaypoint può essere derivato da type="waypoint" e inputIndex = last index |
Testo Formattato | Testo Formattato | |
Suggerimenti | Non supportato | |
tipo di suggerimento | Non supportato | |
tipo di icona | Non supportato | L'API Calcola route di Bing Maps specifica il tipo di icona per rappresentare la modalità di viaggio nelle applicazioni utente. Ad esempio, se un itinerario di guida ha un itinerario di traghetto parziale, l'icona può essere usata per identificare visivamente le diverse modalità di viaggio in un itinerario. L'API Calculate Route di Mappe di Azure non supporta iconType, ma la modalità di viaggio può essere derivata dalla proprietà travelMode nella risposta. |
istruzione | Istruzione | |
èTransitoInTempoReale | Non supportato | |
isVia | viaWaypoint | Nella risposta dell'API Route Directions di Mappe di Azure, il waypoint viene restituito come "type": "ViaWaypoint" |
Codici di localizzazione | Non supportato | |
identificatore di posizione | Non supportato | |
punto di manovra | punto di manovra | In Mappe di Azure, utilizzate "type=maneuverPoint" per gli oggetti punto in cui è necessaria una manovra. In Bing Maps Calculate a Route API maneuverPoint è in formato latitudine/longitudine, mentre in Mappe di Azure è in formato longitudine/latitudine, come definito nel formato GeoJSON. |
tipoDiManovra | tipoDiManovra | |
modalità | Non supportato | |
nomi | nomi | |
realTimeTransitDelay | Non supportato | |
tipo di strada | tipo di strada | |
indicePercorso | puntoDelPercorso | |
routeSubLegs | subLegs | |
sideOfStreet | sideOfStreet | |
startPathIndices | intervallo | Azure Maps restituisce l'indice di inizio e di fine coperto da un tratto specifico di un itinerario sotto forma di intervallo. |
punto di partenza | Non supportato | Nella risposta dell'API Route Directions di Mappe di Azure, startWaypoint può essere derivato da type="waypoint" e inputIndex = first index |
versoNomeStrada | versoNomeStrada | |
congestione del traffico | congestione del traffico | |
dati di traffico utilizzati | dati di traffico utilizzati | |
distanza di viaggio | distanzaInMetri | |
durata del viaggio | durataInSecondi | |
durata del viaggio con traffico | durataTrafficoInSecondi | |
modalità di viaggio | modalità di viaggio |
Per altre informazioni sui campi di risposta dell'API Route Directions di Mappe di Azure, vedere Definizioni.
Esempi di risposta
L'esempio JSON seguente mostra cosa viene restituito nel corpo della risposta HTTP quando si esegue Bing Maps Calcola una richiesta di route :
{
"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.610173,
-122.204193,
47.611674,
-122.203012
],
"id": "v70,h570425388,i0,a0,cen-US,dAAAAAAAAAAA1,y0,s1,m1,o1,t4,wfPMbJhrOR0Cq8j0jEY1ewA2~AF2UnBAtW6QAAADgAQAAAAAA0~MTAybmQgQXZlIE5F0~~~~~~~~v12,wkWEVb2TOR0Cq8j0jEY1ewA2~AF2UnBAdU6QAAADgAQAAgD8A0~MTAzcmQgQXZlIE5F0~~~~~~~~v12,k1,pZ3NpLXBvaQ2-VHJ1ZQ2,pWC1GRC1GTElHSFQ1-Z3NpLXBvaQ2,p-,p-,p-",
"distanceUnit": "Kilometer",
"durationUnit": "Second",
"routeLegs": [
{
"actualEnd": {
"type": "Point",
"coordinates": [
47.611674,
-122.203084
]
},
"actualStart": {
"type": "Point",
"coordinates": [
47.610173,
-122.20414
]
},
"alternateVias": [],
"description": "102nd Ave NE, NE 1st St",
"endTime": "/Date(1713305954789-0700)/",
"itineraryItems": [
{
"compassDirection": "north",
"details": [
{
"compassDegrees": 356,
"endPathIndices": [
1
],
"maneuverType": "DepartStart",
"mode": "Driving",
"names": [
"102nd Ave NE"
],
"roadType": "Street",
"startPathIndices": [
0
]
}
],
"exit": "",
"iconType": "Auto",
"instruction": {
"formattedText": null,
"maneuverType": "DepartStart",
"text": "Head north on 102nd Ave NE toward NE 1st Pl"
},
"isRealTimeTransit": false,
"maneuverPoint": {
"type": "Point",
"coordinates": [
47.610173,
-122.20414
]
},
"realTimeTransitDelay": 0,
"sideOfStreet": "Unknown",
"tollZone": "",
"towardsRoadName": "NE 1st Pl",
"transitTerminus": "",
"travelDistance": 0.114,
"travelDuration": 36,
"travelMode": "Driving"
},
{
"compassDirection": "east",
"details": [
{
"compassDegrees": 89,
"endPathIndices": [
4
],
"maneuverType": "TurnRight",
"mode": "Driving",
"names": [
"NE 1st St"
],
"roadType": "Street",
"startPathIndices": [
1
]
}
],
"exit": "",
"iconType": "Auto",
"instruction": {
"formattedText": null,
"maneuverType": "TurnRight",
"text": "Turn right onto NE 1st St"
},
"isRealTimeTransit": false,
"maneuverPoint": {
"type": "Point",
"coordinates": [
47.611206,
-122.204193
]
},
"realTimeTransitDelay": 0,
"sideOfStreet": "Unknown",
"tollZone": "",
"transitTerminus": "",
"travelDistance": 0.106,
"travelDuration": 22,
"travelMode": "Driving"
},
{
"compassDirection": "northwest",
"details": [
{
"compassDegrees": 302,
"endPathIndices": [
5
],
"maneuverType": "TurnLeft",
"mode": "Driving",
"names": [
"103rd Ave NE"
],
"roadType": "Street",
"startPathIndices": [
4
]
}
],
"exit": "",
"iconType": "Auto",
"instruction": {
"formattedText": null,
"maneuverType": "TurnLeft",
"text": "Turn left onto 103rd Ave NE"
},
"isRealTimeTransit": false,
"maneuverPoint": {
"type": "Point",
"coordinates": [
47.611629,
-122.203012
]
},
"realTimeTransitDelay": 0,
"sideOfStreet": "Unknown",
"tollZone": "",
"transitTerminus": "",
"travelDistance": 0.007,
"travelDuration": 21,
"travelMode": "Driving"
},
{
"compassDirection": "northwest",
"details": [
{
"compassDegrees": 302,
"endPathIndices": [
5
],
"maneuverType": "ArriveFinish",
"mode": "Driving",
"names": [
"103rd Ave NE"
],
"roadType": "Street",
"startPathIndices": [
5
]
}
],
"exit": "",
"hints": [
{
"hintType": "PreviousIntersection",
"text": "The last intersection before your destination is NE 2nd St"
}
],
"iconType": "Auto",
"instruction": {
"formattedText": null,
"maneuverType": "ArriveFinish",
"text": "Arrive at 103rd Ave NE"
},
"isRealTimeTransit": false,
"maneuverPoint": {
"type": "Point",
"coordinates": [
47.611674,
-122.203084
]
},
"realTimeTransitDelay": 0,
"sideOfStreet": "Unknown",
"tollZone": "",
"transitTerminus": "",
"travelDistance": 0,
"travelDuration": 0,
"travelMode": "Driving"
}
],
"routeRegion": "WWMX",
"routeSubLegs": [
{
"endWaypoint": {
"type": "Point",
"coordinates": [
47.611674,
-122.203084
],
"description": "103rd Ave NE",
"isVia": false,
"locationIdentifier": "0|93|148|156|16|29|83|164|0|0|0|224|1|0|0|128|63|0|47.611674,-122.203084",
"routePathIndex": 5
},
"startWaypoint": {
"type": "Point",
"coordinates": [
47.610173,
-122.20414
],
"description": "102nd Ave NE",
"isVia": false,
"locationIdentifier": "0|93|148|156|16|45|91|164|0|0|0|224|1|0|0|0|0|0|47.610173,-122.20414",
"routePathIndex": 0
},
"travelDistance": 0.227,
"travelDuration": 80
}
],
"startTime": "/Date(1713305874789-0700)/",
"travelDistance": 0.227,
"travelDuration": 80,
"travelMode": "Driving"
}
],
"trafficCongestion": "None",
"trafficDataUsed": "None",
"travelDistance": 0.227,
"travelDuration": 80,
"travelDurationTraffic": 71,
"travelMode": "Driving"
}
]
}
],
"statusCode": 200,
"statusDescription": "OK",
"traceId": "47969a89fd7bc08f1a922bf92f4a7541|MWH0032B15|0.0.0.0|MWH0031C9B, Leg0-MWH0031C8C"
}
L'esempio JSON seguente mostra cosa viene restituito nel corpo della risposta HTTP durante l'esecuzione di una richiesta Get Map Tile di Mappe di Azure:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.20414,
47.610173
]
},
"properties": {
"durationInSeconds": 36,
"distanceInMeters": 114.00,
"exitIdentifier": "",
"signs": [],
"instruction": {
"formattedText": "<Action>Head</Action> <CmpsDir>north</CmpsDir> on <RoadName>102nd Ave NE</RoadName> toward <Toward>NE 1st Pl</Toward>",
"maneuverType": "DepartStart",
"text": "Head north on 102nd Ave NE toward NE 1st Pl"
},
"towardsRoadName": "NE 1st Pl",
"routePathPoint": {
"legIndex": 0,
"pointIndex": 0
},
"compassDirection": "north",
"travelMode": "driving",
"steps": [
{
"maneuverType": "DepartStart",
"routePathRange": {
"legIndex": 0,
"range": [
0,
1
]
},
"names": [
"102nd Ave NE"
],
"compassDegrees": 356.00,
"roadType": "Street"
}
],
"type": "ManeuverPoint"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.204193,
47.611206
]
},
"properties": {
"durationInSeconds": 22,
"distanceInMeters": 106.00,
"exitIdentifier": "",
"signs": [],
"instruction": {
"formattedText": "<Action>Turn</Action> <TurnDir>right</TurnDir> onto <RoadName>NE 1st St</RoadName>",
"maneuverType": "TurnRight",
"text": "Turn right onto NE 1st St"
},
"routePathPoint": {
"legIndex": 0,
"pointIndex": 1
},
"compassDirection": "east",
"travelMode": "driving",
"steps": [
{
"maneuverType": "TurnRight",
"routePathRange": {
"legIndex": 0,
"range": [
1,
4
]
},
"names": [
"NE 1st St"
],
"compassDegrees": 89.00,
"roadType": "Street"
}
],
"type": "ManeuverPoint"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.203012,
47.611629
]
},
"properties": {
"durationInSeconds": 21,
"distanceInMeters": 7.00,
"exitIdentifier": "",
"signs": [],
"instruction": {
"formattedText": "<Action>Turn</Action> <TurnDir>left</TurnDir> onto <RoadName>103rd Ave NE</RoadName>",
"maneuverType": "TurnLeft",
"text": "Turn left onto 103rd Ave NE"
},
"routePathPoint": {
"legIndex": 0,
"pointIndex": 4
},
"compassDirection": "northwest",
"travelMode": "driving",
"steps": [
{
"maneuverType": "TurnLeft",
"routePathRange": {
"legIndex": 0,
"range": [
4,
5
]
},
"names": [
"103rd Ave NE"
],
"compassDegrees": 302.00,
"roadType": "Street"
}
],
"type": "ManeuverPoint"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.203084,
47.611674
]
},
"properties": {
"durationInSeconds": 0,
"distanceInMeters": 0.00,
"exitIdentifier": "",
"signs": [],
"instruction": {
"formattedText": "<Action>Arrive</Action> at <WaypointName>103rd Ave NE</WaypointName>",
"maneuverType": "ArriveFinish",
"text": "Arrive at 103rd Ave NE"
},
"routePathPoint": {
"legIndex": 0,
"pointIndex": 5
},
"compassDirection": "northwest",
"travelMode": "driving",
"steps": [
{
"maneuverType": "ArriveFinish",
"routePathRange": {
"legIndex": 0,
"range": [
5,
5
]
},
"names": [
"103rd Ave NE"
],
"compassDegrees": 302.00,
"roadType": "Street"
}
],
"type": "ManeuverPoint"
}
},
{
"type": "Feature",
"geometry": {
"type": "MultiLineString",
"coordinates": []
},
"properties": {
"resourceId": "v70,h570425388,i0,a0,cen-US,dAAAAAAAAAAA1,y0,s1,m1,o1,t0,wfPMbJhrOR0Cq8j0jEY1ewA2~~~~~~~~~~v12,wkWEVb2TOR0Cq8j0jEY1ewA2~~~~~~~~~~v12,k1,qatt:1",
"trafficCongestion": "Mild",
"trafficDataUsed": "None",
"distanceInMeters": 227.00,
"durationInSeconds": 80,
"departureTime": "2024-04-16T22:22:27+00:00",
"arrivalTime": "2024-04-16T22:23:47+00:00",
"type": "RoutePath",
"legs": []
}
}
]
}
Utilizzo delle transazioni
Analogamente all'API di calcolo del percorso di Bing Maps, l'API di direzioni percorso di Mappe di Azure registra una transazione fatturabile per ogni richiesta API. Per altre informazioni sulle transazioni di Mappe di Azure, vedere Informazioni sulle transazioni di Mappe di Azure.
Informazioni aggiuntive
- Post Directions Batch: usare per inviare un batch di query all'API Route Directions in una singola richiesta sincrona.
Assistenza