Een locatie zoeken met behulp van Azure Kaarten Search-service s
De Search-service is een set RESTful-API's die zijn ontworpen om ontwikkelaars te helpen bij het zoeken naar adressen, plaatsen en zakelijke vermeldingen op naam, categorie en andere geografische informatie. Naast het ondersteunen van traditionele geocodering, kunnen services ook de adressen van geocoderen en dwarsstraten omkeren op basis van breedtegraad en lengtegraad. Waarden voor breedtegraad en lengtegraad die door de zoekopdracht worden geretourneerd, kunnen worden gebruikt als parameters in andere Azure Kaarten-services, zoals Route en Weer.
In dit artikel wordt uitgelegd hoe u het volgende kunt doen:
- Vraag de breedte- en lengtegraadcoördinaten voor een adres (locatie van geocodeeradres) aan met behulp van het zoekadres.
- Zoek naar een adres of nuttige plaats (NUTTIGE) met behulp van Fuzzy Search.
- Gebruik Reverse Address Search om de coördinaatlocatie te vertalen naar adres.
- Vertaal de coördinatenlocatie in een begrijpelijke cross street met behulp van Search Address Reverse Cross Street, meestal nodig bij het bijhouden van toepassingen die een GPS-feed ontvangen van een apparaat of asset en wil weten waar de coördinaat zich bevindt.
Vereisten
In deze zelfstudie wordt gebruikgemaakt van de Postman-toepassing, maar u kunt ook een andere API-ontwikkelomgeving kiezen.
Breedtegraad en lengtegraad aanvragen voor een adres (geocodering)
In het voorbeeld in deze sectie wordt Het zoekadres ophalen gebruikt om een adres te converteren naar coördinaten voor breedtegraad en lengtegraad. Dit proces wordt ook wel geocodering genoemd. Naast het retourneren van de coördinaten retourneert het antwoord ook gedetailleerde adreseigenschappen zoals straat-, postcode-, gemeente- en land-/regiogegevens.
Tip
Als u een set adressen voor geocode hebt, kunt u Post Search Address Batch gebruiken om een batch query's in één aanvraag te verzenden.
Selecteer Nieuw in de Postman-app om de aanvraag te maken. Selecteer HTTP-aanvraag in het venster Nieuw maken. Voer een Request name (Aanvraagnaam) in voor de aanvraag.
Selecteer de GET HTTP-methode op het tabblad Builder en voer de volgende URL in. In deze aanvraag zoeken we naar een specifiek adres:
400 Braod St, Seattle, WA 98109
. Vervang voor deze aanvraag en andere aanvragen die in dit artikel worden genoemd, door{Your-Azure-Maps-Subscription-key}
uw Azure Kaarten-abonnementssleutel.https://atlas.microsoft.com/search/address/json?&subscription-key={Your-Azure-Maps-Subscription-key}&api-version=1.0&language=en-US&query=400 Broad St, Seattle, WA 98109
Selecteer de blauwe knop Verzenden . De hoofdtekst van het antwoord bevat gegevens voor één locatie.
Zoek vervolgens een adres met meer dan één mogelijke locatie. Wijzig in de sectie Params de
query
sleutel in400 Broad, Seattle
. Selecteer de blauwe knop Verzenden .Stel vervolgens de
query
sleutel in op400 Broa
.Selecteer de knop Verzenden. Het antwoord bevat resultaten van meerdere landen/regio's. Als u resultaten van geobias wilt toevoegen aan het relevante gebied voor uw gebruikers, voegt u altijd zoveel mogelijk locatiegegevens toe aan de aanvraag.
Fuzzy Zoeken
Fuzzy Search ondersteunt standaard zoekopdrachten met één regel en vrije vormen. U wordt aangeraden de Azure Kaarten Search Fuzzy-API te gebruiken wanneer u uw invoertype van de gebruiker niet weet voor een zoekaanvraag. De query-invoer kan een volledig of gedeeltelijk adres zijn. Het kan ook een NUTTIGE-token (Point of Interest) zijn, zoals een naam van POI, POI-categorie of merknaam. Als u bovendien de relevantie van uw zoekresultaten wilt verbeteren, beperkt u de queryresultaten met behulp van een coördinaatlocatie en radius, of door een begrenzingsvak te definiëren.
Tip
De meeste zoekquery's zijn standaard ingesteld om de prestaties te maxFuzzyLevel=1
verbeteren en ongebruikelijke resultaten te verminderen. Pas de niveaus van de scherpte aan met behulp van de maxFuzzyLevel
of minFuzzyLevel
parameters. Zie Fuzzy Search URI-parameters voor meer informatie over maxFuzzyLevel
en een volledige lijst met alle optionele parameters.
Zoeken naar een adres met Fuzzy Search
In het voorbeeld in deze sectie wordt gebruikgemaakt Fuzzy Search
van het doorzoeken van de hele wereld naar pizza en wordt vervolgens gezocht naar het bereik van een specifiek land/regio. Ten slotte wordt gedemonstreerd hoe u een coördinaatlocatie en radius gebruikt om een zoekopdracht over een bepaald gebied te beperken en het aantal geretourneerde resultaten te beperken.
Belangrijk
Als u resultaten van geobias wilt toevoegen aan het relevante gebied voor uw gebruikers, voegt u altijd zoveel mogelijk locatiegegevens toe. Zie Aanbevolen procedures voor zoeken voor meer informatie.
Selecteer Nieuw in de Postman-app om de aanvraag te maken. Selecteer HTTP-aanvraag in het venster Nieuw maken. Voer een Request name (Aanvraagnaam) in voor de aanvraag.
Selecteer de GET HTTP-methode op het tabblad Builder en voer de volgende URL in. Vervang voor deze aanvraag en andere aanvragen die in dit artikel worden genoemd, door
{Your-Azure-Maps-Subscription-key}
uw Azure Kaarten-abonnementssleutel.https://atlas.microsoft.com/search/fuzzy/json?&api-version=1.0&subscription-key={Your-Azure-Maps-Subscription-key}&language=en-US&query=pizza
Notitie
Het json-kenmerk in het URL-pad bepaalt de antwoordindeling. In dit artikel wordt json gebruikt voor gebruiksgemak en leesbaarheid. Zie de parameterdefinitie in de
format
referentiedocumentatie voor URI-parameters voor andere ondersteunde antwoordindelingen.Selecteer Verzenden en controleer de hoofdtekst van het antwoord.
De dubbelzinnige queryreeks voor 'pizza' retourneert 10 nuttige plaatsen (POI) in zowel de categorieën 'pizza' als 'restaurant'. Elk resultaat bevat details zoals straatadres, breedtegraad- en lengtegraadwaarden, weergavepoort en toegangspunten voor de locatie. De resultaten zijn nu gevarieerd voor deze query en zijn niet gekoppeld aan een referentielocatie.
In de volgende stap gebruikt u de
countrySet
parameter om alleen de landen/regio's op te geven waarvoor uw toepassing dekking nodig heeft. Zie Zoekdekking voor een volledige lijst met ondersteunde landen/regio's.Het standaardgedrag is het doorzoeken van de hele wereld, waardoor onnodige resultaten kunnen worden geretourneerd. Zoek vervolgens alleen naar pizza in de Verenigde Staten. Voeg de sleutel toe aan de sectie Params en stel de
countrySet
waarde in opUS
. Als u decountrySet
sleutel instelt om de resultaten teUS
koppelen aan de Verenigde Staten.De resultaten zijn nu gebonden aan de landcode en de query retourneert pizzarestaurants in de Verenigde Staten.
Om een nog gerichtere zoekopdracht te krijgen, kunt u zoeken over het bereik van een lat/lon-coördinaatpaar. In het volgende voorbeeld worden de lat/lon-coördinaten van de Seattle Space Needle gebruikt. Omdat we alleen resultaten binnen een straal van 400 meter willen retourneren, voegen we de
radius
parameter toe. Daarnaast voegen we delimit
parameter toe om de resultaten te beperken tot de vijf dichtstbijzijnde pizzaplaatsen.Voeg in de sectie Params de volgende sleutel-waardeparen toe:
Sleutel Weergegeven als Lat 47.620525 Lon -122.349274 Radius 400 limiet 5 Selecteer Verzenden. Het antwoord bevat resultaten voor pizzarestaurants in de buurt van de Seattle Space Needle.
Een adres zoeken met Reverse Address Search
Get Search Address Reverse vertaalt coördinaten in door mensen leesbare straatadressen. Deze API wordt vaak gebruikt voor toepassingen die GPS-feeds verbruiken en adressen op specifieke coördinatenpunten willen detecteren.
Belangrijk
Als u resultaten van geobias wilt toevoegen aan het relevante gebied voor uw gebruikers, voegt u altijd zoveel mogelijk locatiegegevens toe. Zie Aanbevolen procedures voor zoeken voor meer informatie.
Tip
Als u een set coördinaatlocaties hebt om geocode om te keren, kunt u Post Search Address Reverse Batch gebruiken om een batch query's in één aanvraag te verzenden.
In dit voorbeeld ziet u hoe u omgekeerde zoekopdrachten maakt met behulp van een aantal optionele parameters die beschikbaar zijn. Zie Parameters voor reverse search voor de volledige lijst met optionele parameters.
Selecteer Nieuw in de Postman-app om de aanvraag te maken. Selecteer HTTP-aanvraag in het venster Nieuw maken. Voer een Request name (Aanvraagnaam) in voor de aanvraag.
Selecteer de GET HTTP-methode op het tabblad Builder en voer de volgende URL in. Vervang voor deze aanvraag en andere aanvragen die in dit artikel worden genoemd, door
{Your-Azure-Maps-Subscription-key}
uw Azure Kaarten-abonnementssleutel. De aanvraag moet lijken op de volgende URL:https://atlas.microsoft.com/search/address/reverse/json?api-version=1.0&subscription-key={Your-Azure-Maps-Subscription-key}&language=en-US&query=47.591180,-122.332700&number=1
Selecteer Verzenden en controleer de hoofdtekst van het antwoord. Als het goed is, ziet u één queryresultaat. Het antwoord bevat belangrijke adresinformatie over Safeco Field.
Voeg vervolgens de volgende sleutel-/waardeparen toe aan de sectie Params :
Sleutel Weergegeven als Retourneert Nummer 1 Het antwoord kan de zijkant van de straat (links/rechts) en ook een verschuivingspositie voor het getal bevatten. returnSpeedLimit true Retourneert de snelheidslimiet op het adres. returnRoadUse true Retourneert weggebruiktypen op het adres. Zie Weggebruikstypen voor alle mogelijke typen weggebruik. returnMatchType true Retourneert het type overeenkomst. Zie Zoekresultaten voor omgekeerde adressen voor alle mogelijke waarden. Selecteer Verzenden en controleer de hoofdtekst van het antwoord.
Vervolgens voegen we de sleutel toe en stellen we de
entityType
waarde in opMunicipality
. DeentityType
sleutel overschrijft dereturnMatchType
sleutel in de vorige stap.returnSpeedLimit
enreturnRoadUse
moet ook worden verwijderd omdat u informatie over de gemeente aanvraagt. Zie Entiteitstypen voor alle mogelijke entiteitstypen.Selecteer Verzenden. Vergelijk de resultaten met de resultaten die in stap 5 zijn geretourneerd. Omdat het aangevraagde entiteitstype nu
municipality
is, bevat het antwoord geen adresgegevens. De geretourneerdegeometryId
functie kan ook worden gebruikt om grens polygoon aan te vragen via Azure Kaarten Get Search Polygon-API.
Tip
Zie Parameters voor reverse search voor meer informatie over deze en andere parameters.
Zoeken naar cross street met Reverse Address Cross Street Search
In dit voorbeeld ziet u hoe u zoekt naar een kruisstraat op basis van de coördinaten van een adres.
Selecteer Nieuw in de Postman-app om de aanvraag te maken. Selecteer HTTP-aanvraag in het venster Nieuw maken. Voer een Request name (Aanvraagnaam) in voor de aanvraag.
Selecteer de GET HTTP-methode op het tabblad Builder en voer de volgende URL in. Vervang voor deze aanvraag en andere aanvragen die in dit artikel worden genoemd, door
{Your-Azure-Maps-Subscription-key}
uw Azure Kaarten-abonnementssleutel. De aanvraag moet lijken op de volgende URL:https://atlas.microsoft.com/search/address/reverse/crossstreet/json?&api-version=1.0&subscription-key={Your-Azure-Maps-Subscription-key}&language=en-US&query=47.591180,-122.332700
Selecteer Verzenden en controleer de hoofdtekst van het antwoord. U ziet dat het antwoord een
crossStreet
waarde vanSouth Atlantic Street
.