Route - Post Snap To Roads
Interfejs API przyciągania do dróg akceptuje dane punktów GPS, reprezentowane jako współrzędne geograficzne i współrzędne geograficzne oraz generuje punkty, które są zgodne z istniejącymi drogami na mapie. Ten proces, znany jako "przyciąganie do dróg", tworzy serię obiektów, które śledzą ścieżkę ściśle po sieci drogowej. Wynikowe dane obejmują nazwy dróg i ich odpowiednie ograniczenia prędkości, odpowiednie dla przechodzonych segmentów.
Ponadto interfejs API Snap to Roads oferuje funkcję interpolacji, która uściśli punkty GPS, aby stworzyć łagodniejszą trasę, która jest zgodna z geometrią drogi. Ta funkcja jest szczególnie przydatna w przypadku śledzenia zasobów i ulepszania wizualizacji danych w aplikacjach mapowania.
Ważna
Punkty GPS muszą znajdować się w odległości nie większej niż 6 kilometrów od siebie.
Aby uzyskać informacje o dostępności routingu w krajach/regionach, zobacz Azure Maps pokrycie routingu.
POST {endpoint}/route/snapToRoads?api-version=2025-01-01
Parametry identyfikatora URI
| Nazwa | W | Wymagane | Typ | Opis |
|---|---|---|---|---|
|
endpoint
|
path | True |
string |
|
|
api-version
|
query | True |
string minLength: 1 |
Wersja interfejsu API do użycia dla tej operacji. |
Nagłówek żądania
Media Types: "application/geo+json"
| Nazwa | Wymagane | Typ | Opis |
|---|---|---|---|
| x-ms-client-id |
string |
Wskazuje konto przeznaczone do użycia z modelem bezpieczeństwa Microsoft Entra ID. Ten unikalny identyfikator konta Azure Maps można uzyskać z API Azure Maps Account API na płaszczyźnie zarządzania. Więcej informacji na temat korzystania z Microsoft Entra ID zabezpieczeń w Azure Maps można znaleźć w Manage authentication in Azure Maps. |
|
| Accept-Language |
string |
Język, w którym powinny być zwracane wyniki routingu. Więcej informacji można znaleźć w Wsparcie lokalizacji w Azure Maps. |
Treść żądania
Media Types: "application/geo+json"
| Nazwa | Wymagane | Typ | Opis |
|---|---|---|---|
| features | True |
Zestaw punktów do przyciągania do sieci drogowej. Możesz mieć minimum 2 punkty i maksimum 5000 punktów, a dwa kolejne punkty muszą znajdować się w odległości do 6 kilometrów od siebie, a łączny dystans drogowy nie może przekraczać 100 kilometrów. Zapoznaj się z dokumentem RFC 7946 , aby uzyskać szczegółowe informacje na temat formatu GeoJSON.
|
|
| type | True |
Określa typ |
|
| includeSpeedLimit |
boolean |
Określa, czy należy uwzględnić informacje o limicie prędkości dla przyciąganych punktów w odpowiedzi. Jednostka jest wyrażona w kilometrach na godzinę. |
|
| interpolate |
boolean |
Określa, czy zwracać dodatkowe punkty między przyciętymi punktami, aby ukończyć pełną ścieżkę trasy, która płynnie podąża za geometrią drogi. Punkty interpolowane będą miały |
|
| travelMode |
Określa profil routingu do przyciągania punktów. Jeśli nie określono, domyślny tryb to "jazda", który optymalizuje przyciągane punkty dla tras jazdy. |
Odpowiedzi
| Nazwa | Typ | Opis |
|---|---|---|
| 200 OK |
Żądanie zakończyło się pomyślnie. Media Types: "application/geo+json", "application/json" |
|
| Other Status Codes |
Nieoczekiwana odpowiedź na błąd. Media Types: "application/geo+json", "application/json" |
Zabezpieczenia
AadToken
Są to przepływy Microsoft Entra OAuth 2.0. W połączeniu z Azure zarządzaniem dostępem opartym na rolach może być używany do kontroli dostępu do Azure Maps API REST. Kontrola dostępu oparta na rolach Azure służy do wyznaczania dostępu do jednego lub więcej kont zasobów lub podzasobów Azure Maps. Każdy użytkownik, grupa lub podmiot usługowy może otrzymać dostęp poprzez wbudowaną rolę lub niestandardową rolę składającą się z jednego lub więcej uprawnień do Azure Maps API REST.\n\nAby zaimplementować scenariusze, zalecamy zapoznanie się z koncepcjami authentication concepts. Podsumowując, ta definicja bezpieczeństwa zapewnia rozwiązanie do modelowania aplikacji(-ów) za pomocą obiektów zdolnych do kontroli dostępu do określonych API i zakresów.\n\n#### Uwagi\n* Ta definicja bezpieczeństwa wymaga użycia nagłówka x-ms-client-id do wskazania, do którego Azure Maps zasobu aplikacja żąda dostępu. Można ją uzyskać z API zarządzania Maps.\n* \nAuthorization URL jest specyficzny dla instancji Azure chmury publicznej. Suwerenne chmury mają unikalne adresy URL autoryzacji oraz konfiguracje Microsoft Entra ID. \n* \nKontrola dostępu oparta na rolach Azure jest konfigurowana z płaszczyzny zarządzania Azure za pośrednictwem Azure portalu, PowerShell, CLI, Azure SDKs lub API REST.\n* \nWykorzystanie Azure Maps Web SDK umożliwia konfigurację aplikacji dla wielu zastosowań.\n* Aby uzyskać więcej informacji o Platforma tożsamości Microsoft, zobacz przegląd Platforma tożsamości Microsoft przegląd.
Typ:
oauth2
Flow:
implicit
Adres URL autoryzacji:
https://login.microsoftonline.com/common/oauth2/authorize
Zakresy
| Nazwa | Opis |
|---|---|
| https://atlas.microsoft.com/.default |
subscription-key
Jest to klucz współdzielony, który jest przydzielany podczas Tworzenia konta Azure Maps w portalu Azure lub za pomocą PowerShell, CLI, Azure SDKs lub REST API.\n\n Dzięki temu kluczowi każda aplikacja może uzyskać dostęp do wszystkich API REST. Innymi słowy, ten klucz może być używany jako klucz główny na koncie, na którym są wydawane.\n\n W przypadku aplikacji udostępnionych publicznie zalecamy stosowanie podejścia confidential client applications do dostępu do API REST Azure Maps i bezpiecznie przechowywać klucz.
Typ:
apiKey
W:
header
SAS Token
Jest to token podpisu współdzielonego dostępu tworzony na podstawie operacji List SAS na Azure Maps resource przez płaszczyznę zarządzania Azure za pomocą Azure portalu, PowerShell, CLI, Azure SDKs lub API REST.\n\n Dzięki temu tokenowi każda aplikacja jest autoryzowana do dostępu za pomocą Azure kontrola dostępu oparta na rolach oraz precyzyjna kontrola do terminu wygaśnięcia, tempa i regionu użycia danego tokena. Innymi słowy, token SAS może być używany do umożliwienia aplikacjom kontrolowania dostępu w sposób bezpieczniejszy niż klucz współdzielony.\n\n W przypadku aplikacji udostępnionych publicznie zalecamy skonfigurowanie konkretnej listy dozwolonych źródeł na zasobach konta Map , aby ograniczyć nadużycia renderowania i regularnie odnawiać Token SAS.
Typ:
apiKey
W:
header
Przykłady
Successfully retrieve snap to roads points with additional parameters in the body
Przykładowe żądanie
POST {endpoint}/route/snapToRoads?api-version=2025-01-01
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.336729,
47.590868
]
},
"properties": {}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.336042,
47.601604
]
},
"properties": {}
}
],
"includeSpeedLimit": true,
"travelMode": "driving"
}
Przykładowa odpowiedź
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.336769,
47.590885
]
},
"properties": {
"name": "State Rte-99 N",
"inputIndex": 0,
"isInterpolated": false,
"speedLimitInKilometersPerHour": 80
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.336008,
47.601609
]
},
"properties": {
"name": "State Rte-99 N",
"inputIndex": 1,
"isInterpolated": false,
"speedLimitInKilometersPerHour": 80
}
}
]
}
Definicje
| Nazwa | Opis |
|---|---|
|
Features |
Określa typ |
|
Feature |
Określa typ |
|
Geo |
Określa typ |
|
Geo |
Prawidłowy typ geometrii |
|
Input |
Określa przyciąganie danych wejściowych do punktów dróg.
|
|
Maps |
Szczegóły błędu. |
|
Maps |
Typowa odpowiedź na błędy dla API Azure Maps do zwracania szczegółów błędu dla nieudanych operacji. |
|
Maps |
Obiekt zawierający bardziej szczegółowe informacje niż bieżący obiekt o błędzie. |
|
Snap |
Obiekt funkcji GeoJSON, który zawiera obiekt Geometry i dodatkowe właściwości trasy. |
|
Snap |
Przyciągaj do właściwości Drogi. |
|
Snap |
Ten obiekt jest treścią żądania. |
|
Snap |
Ten obiekt jest zwracany z pomyślnego wywołania. |
|
Snap |
Określa profil routingu do przyciągania punktów. Jeśli nie określono, domyślny tryb to "jazda", który optymalizuje przyciągane punkty dla tras jazdy. |
FeaturesItemTypeEnum
Określa typ GeoJSON. Jedynym obsługiwanym typem obiektu jest Funkcja. Aby uzyskać więcej informacji, zobacz RFC 7946.
| Wartość | Opis |
|---|---|
| Feature |
Określa typ obiektu funkcji |
FeatureTypeEnum
Określa typ GeoJSON. Jedynym obsługiwanym typem obiektu jest FeatureCollection. Aby uzyskać więcej informacji, zobacz RFC 7946.
| Wartość | Opis |
|---|---|
| FeatureCollection |
Określa typ obiektu |
GeoJsonObjectType
Określa typ GeoJSON. Musi być jednym z dziewięciu prawidłowych typów obiektów GeoJSON — Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon, GeometryCollection, Feature i FeatureCollection.
| Wartość | Opis |
|---|---|
| Point |
|
| MultiPoint |
|
| LineString |
|
| MultiLineString |
|
| Polygon |
|
| MultiPolygon |
|
| GeometryCollection |
|
| Feature |
|
| FeatureCollection |
|
GeoJsonPoint
Prawidłowy typ geometrii GeoJSON Point. Aby uzyskać szczegółowe informacje, zobacz RFC 7946.
| Nazwa | Typ | Opis |
|---|---|---|
| coordinates |
number[] (double) |
|
| type |
string:
Point |
Określa typ |
InputSnapToRoadsFeaturesItem
Określa przyciąganie danych wejściowych do punktów dróg.
GeoJSON obiekt funkcji i dodatkowe właściwości. Szczegółowe informacje można znaleźć w dokumencie RFC 7946 .
| Nazwa | Typ | Opis |
|---|---|---|
| geometry |
Prawidłowy typ geometrii |
|
| properties |
Obiekt właściwości jest wymagany w prawidłowym formacie GeoJSON, ale może być pusty, ponieważ metadane nie są używane do przyciągania do drogi. |
|
| type |
Określa typ |
MapsErrorDetail
Szczegóły błędu.
| Nazwa | Typ | Opis |
|---|---|---|
| code |
string |
Jeden z zdefiniowanych przez serwer zestaw kodów błędów. |
| details |
Tablica szczegółów dotyczących określonych błędów, które doprowadziły do tego zgłoszonego błędu. |
|
| innererror |
Obiekt zawierający bardziej szczegółowe informacje niż bieżący obiekt o błędzie. |
|
| message |
string |
Czytelna dla człowieka reprezentacja błędu. |
| target |
string |
Element docelowy błędu. |
MapsErrorResponse
Typowa odpowiedź na błędy dla API Azure Maps do zwracania szczegółów błędu dla nieudanych operacji.
| Nazwa | Typ | Opis |
|---|---|---|
| error |
Szczegóły błędu. |
MapsInnerError
Obiekt zawierający bardziej szczegółowe informacje niż bieżący obiekt o błędzie.
| Nazwa | Typ | Opis |
|---|---|---|
| code |
string |
Kod błędu. |
| innererror |
Obiekt zawierający bardziej szczegółowe informacje niż bieżący obiekt o błędzie. |
SnapToRoadFeaturesItem
Obiekt funkcji GeoJSON, który zawiera obiekt Geometry i dodatkowe właściwości trasy.
| Nazwa | Typ | Opis |
|---|---|---|
| bbox |
number[] (double) |
Prostokątny obszar na ziemi zdefiniowany jako obiekt pola ograniczenia. Boki prostokątów są definiowane przez wartości szerokości i długości geograficznej. Aby uzyskać więcej informacji, zobacz RFC 7946, sekcja 5. Przykład: "bbox": [-10.0, -10.0, 10.0, 10.0] |
| geometry |
Prawidłowy typ geometrii |
|
| properties |
Przyciągaj do właściwości Drogi. |
|
| type |
Określa typ |
SnapToRoadsFeatureProperties
Przyciągaj do właściwości Drogi.
| Nazwa | Typ | Opis |
|---|---|---|
| inputIndex |
integer (int64) |
Zidentyfikuj odpowiedni indeks na oryginalnej liście punktów dla każdego przyciąganego punktu. Tylko przyciągane punkty będą zwracać indeksy i mogą służyć do odróżnienia ich od punktów interpolowanych. |
| isInterpolated |
boolean |
Określ, czy jest to punkt interpolowany. |
| name |
string |
Nazwa drogi, do których punkt jest przyciągany. |
| speedLimitInKilometersPerHour |
number (double) |
Ograniczenie prędkości w kilometrach na godzinę. |
SnapToRoadsRequest
Ten obiekt jest treścią żądania.
| Nazwa | Typ | Domyślna wartość | Opis |
|---|---|---|---|
| features |
Zestaw punktów do przyciągania do sieci drogowej. Możesz mieć minimum 2 punkty i maksimum 5000 punktów, a dwa kolejne punkty muszą znajdować się w odległości do 6 kilometrów od siebie, a łączny dystans drogowy nie może przekraczać 100 kilometrów. Zapoznaj się z dokumentem RFC 7946 , aby uzyskać szczegółowe informacje na temat formatu GeoJSON.
|
||
| includeSpeedLimit |
boolean |
False |
Określa, czy należy uwzględnić informacje o limicie prędkości dla przyciąganych punktów w odpowiedzi. Jednostka jest wyrażona w kilometrach na godzinę. |
| interpolate |
boolean |
False |
Określa, czy zwracać dodatkowe punkty między przyciętymi punktami, aby ukończyć pełną ścieżkę trasy, która płynnie podąża za geometrią drogi. Punkty interpolowane będą miały |
| travelMode | driving |
Określa profil routingu do przyciągania punktów. Jeśli nie określono, domyślny tryb to "jazda", który optymalizuje przyciągane punkty dla tras jazdy. |
|
| type |
Określa typ |
SnapToRoadsResponse
Ten obiekt jest zwracany z pomyślnego wywołania.
| Nazwa | Typ | Opis |
|---|---|---|
| features |
|
|
| type |
Określa typ |
SnapToRoadsTravelModeEnum
Określa profil routingu do przyciągania punktów. Jeśli nie określono, domyślny tryb to "jazda", który optymalizuje przyciągane punkty dla tras jazdy.
| Wartość | Opis |
|---|---|
| driving |
Punkty są przyciągane do drogi odpowiedniej dla samochodów. |
| truck |
Zwrotnice są przytwierdzone do drogi odpowiedniej dla ciężarówki. |