Spatial - Get Geofence
Gebruik om de nabijheid van een coördinaat tot een geofence te krijgen.
De Get Geofence
API is een HTTP-aanvraag GET
die de nabijheid van een coördinaat met een geofence ophaalt die is geüpload naar het gegevensregister. U uploadt een geofence of set fences naar een Azure Storage-account en registreert deze vervolgens bij uw Azure Maps-account met behulp van het gegevensregister. Zie Gegevensregister maken voor meer informatie. Zie Geofencing GeoJSON-gegevens voor meer informatie over de geofence-gegevensindeling. Als u de nabijheid van een coördinaat wilt opvragen, geeft u de locatie op van het object dat u bijhoudt, evenals de id voor de omheining of set omheiningen. Het antwoord bevat informatie over de afstand tot de buitenrand van de geofence. Een negatieve waarde geeft aan dat de coördinaat zich binnen de omheining bevindt, terwijl een positieve waarde betekent dat deze zich buiten de omheining bevindt.
Deze API kan worden gebruikt voor verschillende scenario's, waaronder het bijhouden van activa, het beheren van het wagenpark of het instellen van waarschuwingen voor het verplaatsen van objecten.
De API ondersteunt integratie met Event Grid. De parameter isAsync wordt gebruikt om integratie met Event Grid in te schakelen (standaard uitgeschakeld). Als u deze API wilt testen, kunt u de voorbeeldgegevens van post-Geofence-API-voorbeelden (aanvraagbody) uploaden met behulp van de gegevensregisterservice en de uit de {udid}
onderstaande voorbeeldaanvraag vervangen door de udid
die wordt gebruikt om het gegevensregister te maken. Zie Gegevensregister maken voor meer informatie over de gegevensregisterservice.
Geofencing InnerError-code
In het antwoordcontract innererror
voor geofencing is een object met servicespecifieke informatie over de fout.
code
is een eigenschap waarin innererror
kan worden toegewezen aan een specifiek type geofencingfout. In de onderstaande tabel ziet u de codetoewijzing tussen alle bekende clientfouttypen aan de bijbehorende geofencingfout message
.
innererror.code | error.message |
---|---|
NullDeviceId | Apparaat-id mag niet null zijn. |
NullUdid | Udid mag niet null zijn. |
UdidWrongFormat | Udid moet worden verkregen uit de API voor gebruikersgegevensopname. |
InvalidUserTime | Usertime is ongeldig. |
InvalidSearchBuffer | Searchbuffer is ongeldig. |
InvalidSearchRange | Het waardebereik van searchbuffer moet tussen 0 en 500 meter liggen. |
InvalidLatLon | Lat- en/of lon-parameters zijn ongeldig. |
InvalidIsAsyncValue | De parameter IsAsync is ongeldig. |
InvalidModeValue | De modusparameter is ongeldig. |
Ongeldige Json | Geofencinggegevens zijn geen geldig json-bestand. |
NotSupportedGeoJson | Geofencinggegevens kunnen niet worden gelezen als een functie of functieverzameling. |
InvalidGeoJson | Geofencinggegevens zijn ongeldig. |
NoUserDataWithAccountOrSubscription | Kan geen geofencinggegevens van gebruikers vinden met de opgegeven account-id en/of abonnements-id. |
NoUserDataWithUdid | Kan geen geofencinggegevens van gebruikers vinden met de opgegeven udid. |
GET https://{geography}.atlas.microsoft.com/spatial/geofence/json?api-version=2022-08-01&deviceId={deviceId}&udid={udid}&lat={lat}&lon={lon}
GET https://{geography}.atlas.microsoft.com/spatial/geofence/json?api-version=2022-08-01&deviceId={deviceId}&udid={udid}&lat={lat}&lon={lon}&z={z}&userTime={userTime}&searchBuffer={searchBuffer}&isAsync={isAsync}&mode={mode}
URI-parameters
Name | In | Vereist | Type | Description |
---|---|---|---|---|
format
|
path | True |
Gewenste indeling van het antwoord. Alleen |
|
geography
|
path | True |
string |
Locatie van het Azure Maps-account. Geldige waarden zijn us (VS - oost, VS - west-centraal, VS - west 2) en eu (Europa - noord, Europa - west). Deze parameter is vereist wanneer een |
api-version
|
query | True |
string |
Versienummer van Azure Maps-API. |
device
|
query | True |
string |
Id van het apparaat |
lat
|
query | True |
number |
De breedtegraad van de locatie die wordt doorgegeven. Voorbeeld: 48.36. |
lon
|
query | True |
number |
De lengtegraad van de locatie die wordt doorgegeven. Voorbeeld: -124.63. |
udid
|
query | True |
string |
De unieke id die wordt gebruikt bij het maken van een gegevensregister om een geldig GeoJSON FeatureCollection-object te uploaden. Raadpleeg RFC 7946 voor meer informatie. Alle eigenschappen van de functie moeten bevatten |
is
|
query |
boolean |
Indien waar, gebruikt de aanvraag een asynchroon gebeurtenismechanisme; indien onwaar, wordt de aanvraag gesynchroniseerd en wordt er geen gebeurtenis geactiveerd. De standaardwaarde is false. |
|
mode
|
query |
Modus van het asynchrone geofencing-gebeurtenismechanisme. |
||
search
|
query |
number |
De straal van de buffer rond de geofence in meters die bepaalt hoe ver er binnen en buiten de rand van de omheining moet worden gezocht naar de coördinaat die is opgegeven bij het berekenen van het resultaat. De minimumwaarde is 0 en het maximum is 500. De standaardwaarde is 50. |
|
user
|
query |
string date-time |
De aanvraagtijd van de gebruiker. Als deze niet wordt weergegeven in de aanvraag, is de standaardwaarde DateTime.Now. |
|
z
|
query |
number |
Het zeeniveau in meter van de locatie die wordt doorgegeven. Als deze parameter wordt weergegeven, wordt 2D-extrusie gebruikt. Voorbeeld: 200. |
Aanvraagkoptekst
Name | Vereist | Type | Description |
---|---|---|---|
x-ms-client-id |
string |
Hiermee geeft u op welk account is bedoeld voor gebruik in combinatie met het Microsoft Entra ID-beveiligingsmodel. Het vertegenwoordigt een unieke id voor het Azure Maps-account en kan worden opgehaald uit de Azure Maps-beheervlak Account-API. Als u Microsoft Entra ID-beveiliging in Azure Maps wilt gebruiken, raadpleegt u de volgende artikelen voor hulp. |
Antwoorden
Name | Type | Description |
---|---|---|
200 OK |
OK De waarde van de X-Correlation-id-header is aanwezig in het antwoord van een asynchrone aanroep en de Event Grid-gebeurtenisgegevens. Het helpt het antwoord van de asynchrone oproep te correleren met de bijbehorende Event Grid-gebeurtenis. Kopteksten X-Correlation-id: string |
|
Other Status Codes |
Er is een onverwachte fout opgetreden. |
Beveiliging
AADToken
Dit zijn de Microsoft Entra OAuth 2.0-stromen . Wanneer het wordt gekoppeld aan op rollen gebaseerd toegangsbeheer van Azure , kan het worden gebruikt om de toegang tot Azure Maps REST API's te beheren. Op rollen gebaseerd toegangsbeheer van Azure wordt gebruikt om toegang tot een of meer Azure Maps-resourceaccounts of subresources aan te wijzen. Elke gebruiker, groep of service-principal kan toegang krijgen via een ingebouwde rol of een aangepaste rol die bestaat uit een of meer machtigingen voor Azure Maps REST API's.
Als u scenario's wilt implementeren, raden we u aan om verificatieconcepten te bekijken. Samengevat biedt deze beveiligingsdefinitie een oplossing voor het modelleren van toepassingen via objecten die toegangsbeheer kunnen hebben voor specifieke API's en bereiken.
Notities
- Voor deze beveiligingsdefinitie moet de
x-ms-client-id
header worden gebruikt om aan te geven tot welke Azure Maps-resource de toepassing toegang aanvraagt. Dit kan worden verkregen via de Beheer-API van Maps.
De Authorization URL
is specifiek voor het azure-exemplaar van de openbare cloud. Onafhankelijke clouds hebben unieke autorisatie-URL's en Microsoft Entra ID-configuraties.
* Op rollen gebaseerd toegangsbeheer van Azure wordt geconfigureerd vanuit het Azure-beheervlak via Azure Portal, PowerShell, CLI, Azure SDK's of REST API's.
* Gebruik van de Azure Maps Web SDK maakt configuratie van een toepassing mogelijk voor meerdere use cases.
- Zie Overzicht van Microsoft Identity Platform voor meer informatie over Microsoft Identity Platform.
Type:
oauth2
Stroom:
implicit
Autorisatie-URL:
https://login.microsoftonline.com/common/oauth2/authorize
Bereiken
Name | Description |
---|---|
https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
Dit is een gedeelde sleutel die wordt ingericht bij het maken van een Azure Maps-resource via het Azure-beheervlak via Azure Portal, PowerShell, CLI, Azure SDK's of REST API's.
Met deze sleutel wordt elke toepassing gemachtigd voor toegang tot alle REST API's. Met andere woorden, deze kunnen momenteel worden behandeld als hoofdsleutels voor het account waarvoor ze zijn uitgegeven.
Voor openbaar beschikbare toepassingen wordt aanbevolen om server-naar-servertoegang van Azure Maps REST API's te gebruiken, waar deze sleutel veilig kan worden opgeslagen.
Type:
apiKey
In:
header
SAS Token
Dit is een shared access signature-token dat is gemaakt op basis van de SAS-bewerking List op de Azure Maps-resource via het Azure-beheervlak via Azure Portal, PowerShell, CLI, Azure SDK's of REST API's.
Met dit token is elke toepassing gemachtigd om toegang te krijgen met op rollen gebaseerd toegangsbeheer van Azure en fijnmazige controle over het verloop, de snelheid en de gebruiksregio(s) voor het specifieke token. Met andere woorden, het SAS-token kan worden gebruikt om toepassingen in staat te stellen toegang op een veiligere manier te beheren dan de gedeelde sleutel.
Voor openbaar beschikbaar gemaakte toepassingen wordt aanbevolen om een specifieke lijst met toegestane oorsprongen te configureren op de resource Van het account toewijzen om misbruik van het genereren te beperken en het SAS-token regelmatig te vernieuwen.
Type:
apiKey
In:
header
Voorbeelden
GetGeofence
Voorbeeldaanvraag
GET https://us.atlas.microsoft.com/spatial/geofence/json?api-version=2022-08-01&deviceId=unique_device_name_under_account&udid=f6495f62-94f8-0ec2-c252-45626f82fcb2&lat=48.36&lon=-124.63&userTime=2022-08-21T17:32:28Z&searchBuffer=50&isAsync=True&mode=EnterAndExit
Voorbeeldrespons
{
"geometries": [
{
"deviceId": "unique_device_name_under_account",
"udId": "f6495f62-94f8-0ec2-c252-45626f82fcb2",
"geometryId": "2",
"distance": 999,
"nearestLat": 47.621954,
"nearestLon": -122.131841
},
{
"deviceId": "unique_device_name_under_account",
"udId": "f6495f62-94f8-0ec2-c252-45626f82fcb2",
"geometryId": "1",
"distance": -999,
"nearestLat": 47.609833,
"nearestLon": -122.148274
}
],
"expiredGeofenceGeometryId": [
"5"
],
"invalidPeriodGeofenceGeometryId": [
"3",
"4"
],
"isEventPublished": true
}
Definities
Name | Description |
---|---|
Error |
Aanvullende informatie over de resourcebeheerfout. |
Error |
De foutdetails. |
Error |
Foutreactie |
Geofence |
Dit object wordt geretourneerd door een geofence-nabijheidsaanroep. |
Geofence |
De geofencinggeometrie. |
Geofence |
Modus van het geofencing asynchrone gebeurtenismechanisme. |
Json |
Gewenste indeling van het antwoord. Alleen |
ErrorAdditionalInfo
Aanvullende informatie over de resourcebeheerfout.
Name | Type | Description |
---|---|---|
info |
object |
De aanvullende informatie. |
type |
string |
Het type aanvullende informatie. |
ErrorDetail
De foutdetails.
Name | Type | Description |
---|---|---|
additionalInfo |
De fout aanvullende informatie. |
|
code |
string |
De foutcode. |
details |
De foutdetails. |
|
message |
string |
Het foutbericht. |
target |
string |
Het foutdoel. |
ErrorResponse
Foutreactie
Name | Type | Description |
---|---|---|
error |
Het foutobject. |
Geofence
Dit object wordt geretourneerd door een geofence-nabijheidsaanroep.
Name | Type | Description |
---|---|---|
expiredGeofenceGeometryId |
string[] |
Een lijst met de geometrie-id van de geofence die is verlopen ten opzichte van de gebruikerstijd in de aanvraag. |
geometries |
Een lijst met de omheiningsgeometrieën die de positie van de coördinaat bevatten of de searchBuffer rond de positie overlappen. |
|
invalidPeriodGeofenceGeometryId |
string[] |
Een lijst met de geometrie-id van de geofence die zich in een ongeldige periode bevindt ten opzichte van de gebruikerstijd in de aanvraag. |
isEventPublished |
boolean |
Is waar als ten minste één gebeurtenis wordt gepubliceerd naar de Azure Maps-gebeurtenisabonnee, onwaar als er geen gebeurtenis wordt gepubliceerd naar de Azure Maps-gebeurtenisabonnee. Dit wordt alleen weergegeven als antwoord wanneer de queryparameter 'isAsync' is ingesteld op true. |
GeofenceGeometry
De geofencinggeometrie.
Name | Type | Description |
---|---|---|
deviceId |
string |
Id van het apparaat. |
distance |
number |
Afstand van de coördinaat tot de dichtstbijzijnde rand van de geofence (in meters behalve wanneer speciale waarden -999/999 worden gebruikt). Positief betekent dat de coördinaat zich buiten de geofence bevindt. Als de coördinaat zich buiten de geofence bevindt, maar meer dan de waarde van searchBuffer verwijderd is van de dichtstbijzijnde geofence-rand, is de waarde 999. Negatief betekent dat de coördinaat zich in de geofence bevindt. Als de coördinaat zich binnen de veelhoek bevindt, maar meer dan de waarde van searchBuffer buiten de dichtstbijzijnde geofencingrand ligt, is de waarde -999. Een waarde van 999 betekent dat er een groot vertrouwen is dat de coördinaat zich ver buiten de geofence bevindt. Een waarde van -999 betekent dat er veel vertrouwen is dat de coördinaat goed binnen de geofence ligt. |
geometryId |
string |
De unieke id identificeert een geometrie. |
nearestLat |
number |
Breedtegraad van het dichtstbijzijnde punt van de geometrie. |
nearestLon |
number |
Lengtegraad van het dichtstbijzijnde punt van de geometrie. |
nearestZ |
number |
Zeeniveau in meter van het dichtstbijzijnde punt op de 2D-extrusiegeometrie. Dit wordt alleen weergegeven als antwoord wanneer er een waarde wordt opgegeven voor 'zInMeter' in de aanvraag. |
udId |
string |
De unieke id die wordt gebruikt bij het maken van een gegevensregister om een geldig GeoJSON FeatureCollection-object te uploaden. Raadpleeg RFC 7946 voor meer informatie. Alle eigenschappen van de functie moeten bevatten |
GeofenceMode
Modus van het geofencing asynchrone gebeurtenismechanisme.
Name | Type | Description |
---|---|---|
All |
string |
Publiceer alle queryresultaten naar het gebeurtenisabonnement van het Azure Maps-account. |
EnterAndExit |
string |
Publiceer alleen resultaten wanneer de locatie van de gebruiker wordt beschouwd als het overschrijden van geofencing boarder. |
JsonFormat
Gewenste indeling van het antwoord. Alleen json
de indeling wordt ondersteund.
Name | Type | Description |
---|---|---|
json |
string |