Sök efter en plats med hjälp av Azure Kartor tjänsten Search s

Söktjänsten är en uppsättning RESTful-API:er som är utformade för att hjälpa utvecklare att söka efter adresser, platser och företagsuppgifter efter namn, kategori och annan geografisk information. Förutom att stödja traditionell geokodning kan tjänster även vända geokodadresser och korsgator baserat på latitud och longitud. Latitud- och longitudvärden som returneras av sökningen kan användas som parametrar i andra Azure Kartor-tjänster, till exempel Route och Weather.

Den här artikeln visar hur du:

  • Begär latitud- och longitudkoordinater för en adress (geokodadressplats) med hjälp av sökadress.
  • Sök efter en adress eller orienteringspunkt (POI) med fuzzy-sökning.
  • Använd Omvänd adresssökning för att översätta koordinatplatsen till gatuadressen.
  • Översätt koordinatplatsen till en mänsklig begriplig korsgata med hjälp av sökadressen Reverse Cross Street, som oftast behövs för att spåra program som tar emot ett GPS-flöde från en enhet eller tillgång, och vill veta var koordinaten finns.

Förutsättningar

I den här självstudien används Postman-programmet , men du kan välja en annan API-utvecklingsmiljö.

Begär latitud och longitud för en adress (geokodning)

I exemplet i det här avsnittet används Hämta sökadress för att konvertera en adress till latitud- och longitudkoordinater. Den här processen kallas även geokodning. Förutom att returnera koordinaterna returnerar svaret även detaljerade adressegenskaper som gata, postnummer, kommun och land-/regioninformation.

Dricks

Om du har en uppsättning adresser till geokod kan du använda Batch för eftersökningsadress för att skicka en batch med frågor i en enda begäran.

  1. I Postman-appen väljer du Ny för att skapa begäran. I fönstret Skapa ny väljer du HTTP-begäran. Ange ett begärandenamn för begäran.

  2. Välj metoden GET HTTP på fliken builder och ange följande URL. I den här begäran söker vi efter en specifik adress: 400 Braod St, Seattle, WA 98109. För den här begäran och andra begäranden som nämns i den här artikeln ersätter {Your-Azure-Maps-Subscription-key} du med din Azure Kartor-prenumerationsnyckel.

    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
    
  3. Välj den blå knappen Skicka . Svarstexten innehåller data för en enda plats.

  4. Sök sedan efter en adress som har fler än en möjlig plats. I avsnittet Params ändrar du query nyckeln till 400 Broad, Seattle. Välj den blå knappen Skicka .

    Search for address

  5. Försök sedan att ange query nyckeln till 400 Broa.

  6. Välj knappen Skicka. Svaret innehåller resultat från flera länder/regioner. Om du vill ge geobias resultat till det relevanta området för dina användare lägger du alltid till så många platsinformation som möjligt i begäran.

Fuzzy Search stöder standardsökningar med en rad och fritt formulär. Vi rekommenderar att du använder Azure Kartor Search Fuzzy API när du inte känner till användarens indatatyp för en sökbegäran. Frågeindata kan vara en fullständig eller partiell adress. Det kan också vara en intressepunktstoken (POI) som ett namn på POI, POI-kategori eller namn på varumärket. För att förbättra relevansen för sökresultaten begränsar du dessutom frågeresultaten med hjälp av en koordinatplats och radie eller genom att definiera en avgränsningsruta.

Dricks

De flesta sökfrågor är standard för att maxFuzzyLevel=1 förbättra prestanda och minska ovanliga resultat. Justera fuzziness-nivåerna med hjälp av parametrarna maxFuzzyLevel eller minFuzzyLevel . Mer information om maxFuzzyLevel och en fullständig lista över alla valfria parametrar finns i Fuzzy Search URI Parameters (Fuzzy Search URI Parameters).

Exemplet i det här avsnittet används Fuzzy Search för att söka i hela världen efter pizza och söker sedan efter omfånget för ett visst land/en viss region. Slutligen visar den hur du använder en koordinatplats och radie för att begränsa en sökning över ett visst område och begränsa antalet returnerade resultat.

Viktigt!

Om du vill ge geobias resultat till det relevanta området för dina användare lägger du alltid till så många platsinformation som möjligt. Mer information finns i Metodtips för sökning.

  1. I Postman-appen väljer du Ny för att skapa begäran. I fönstret Skapa ny väljer du HTTP-begäran. Ange ett begärandenamn för begäran.

  2. Välj metoden GET HTTP på fliken builder och ange följande URL. För den här begäran och andra begäranden som nämns i den här artikeln ersätter {Your-Azure-Maps-Subscription-key} du med din Azure Kartor-prenumerationsnyckel.

    https://atlas.microsoft.com/search/fuzzy/json?&api-version=1.0&subscription-key={Your-Azure-Maps-Subscription-key}&language=en-US&query=pizza
    

    Kommentar

    Json-attributet i URL-sökvägen avgör svarsformatet. Den här artikeln använder json för enkel användning och läsbarhet. Om du vill hitta andra svarsformat som stöds kan du läsa parameterdefinitionen format i referensdokumentationen för URI-parametern.

  3. Välj Skicka och granska svarstexten.

    Den tvetydiga frågesträngen för "pizza" returnerade 10 poängs intresseresultat (POI) i kategorierna "pizza" och "restaurang". Varje resultat innehåller information som gatuadress, latitud och longitudvärden, visa port och startpunkter för platsen. Resultatet varierar nu för den här frågan och är inte knutna till någon referensplats.

    I nästa steg använder du parametern countrySet för att endast ange de länder/regioner som programmet behöver täckning för. En fullständig lista över länder/regioner som stöds finns i Söktäckning.

  4. Standardbeteendet är att söka i hela världen och eventuellt returnera onödiga resultat. Sök sedan bara efter pizza i USA. Lägg till nyckeln i countrySetavsnittet Params och ange dess värde till US. countrySet Om du anger nyckeln till US begränsas resultatet till USA.

    Search for pizza in the United States

    Resultaten begränsas nu av landskoden och frågan returnerar pizzarestauranger i USA.

  5. För att få en ännu mer riktad sökning kan du söka över omfånget för ett lat/lon-koordinatpar. I följande exempel används lat/lon-koordinaterna för Seattle Space Needle. Eftersom vi bara vill returnera resultat inom en radie på 400 meter lägger vi till parametern radius . Dessutom lägger vi till parametern limit för att begränsa resultatet till de fem närmaste pizzaplatserna.

    I avsnittet Params lägger du till följande nyckel/värde-par:

    Tangent Värde
    Lat 47.620525
    Lon -122.349274
    Radie 400
    gräns 5
  6. Välj Skicka. Svaret innehåller resultat för pizzarestauranger nära Seattle Space Needle.

Hämta omvänd sökadress översätter koordinater till läsbara gatuadresser. Det här API:et används ofta för program som använder GPS-feeds och vill identifiera adresser vid specifika koordinatpunkter.

Viktigt!

Om du vill ge geobias resultat till det relevanta området för dina användare lägger du alltid till så många platsinformation som möjligt. Mer information finns i Metodtips för sökning.

Dricks

Om du har en uppsättning koordinatplatser för omvänd geokod kan du använda omvänd batch efter sökadress för att skicka en batch med frågor i en enda begäran.

Det här exemplet visar hur du gör omvända sökningar med hjälp av några av de valfria parametrar som är tillgängliga. En fullständig lista över valfria parametrar finns i Omvända sökparametrar.

  1. I Postman-appen väljer du Ny för att skapa begäran. I fönstret Skapa ny väljer du HTTP-begäran. Ange ett begärandenamn för begäran.

  2. Välj metoden GET HTTP på fliken builder och ange följande URL. För den här begäran och andra begäranden som nämns i den här artikeln ersätter {Your-Azure-Maps-Subscription-key} du med din Azure Kartor-prenumerationsnyckel. Begäran bör se ut som följande 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
    
  3. Välj Skicka och granska svarstexten. Du bör se ett frågeresultat. Svaret innehåller viktig adressinformation om Valv co-fältet.

  4. Lägg sedan till följande nyckel/värde-par i avsnittet Params :

    Tangent Värde Returer
    Nummer 1 Svaret kan innehålla sidan av gatan (vänster/höger) och även en förskjutningsposition för talet.
    returnSpeedLimit true Returnerar hastighetsgränsen vid adressen.
    returnRoadUse true Returnerar väganvändningstyper på adressen. Alla möjliga typer av väganvändning finns i Typer av väganvändning.
    returnMatchType true Returnerar matchningstypen. Alla möjliga värden finns i Sökresultat för omvänd adress.

    Search reverse.

  5. Välj Skicka och granska svarstexten.

  6. Sedan lägger vi till entityType nyckeln och anger dess värde till Municipality. Nyckeln entityType åsidosätter returnMatchType nyckeln i föregående steg. returnSpeedLimit och returnRoadUse behöver också tas bort eftersom du begär information om kommunen. Alla möjliga entitetstyper finns i Entitetstyper.

    Search reverse entityType.

  7. Välj Skicka. Jämför resultatet med de resultat som returneras i steg 5. Eftersom den begärda entitetstypen nu municipalityär innehåller svaret inte gatuadressinformation. Dessutom kan den returnerade geometryId användas för att begära gränspolygon via Azure Kartor Get Search Polygon API.

Dricks

Mer information om dessa och andra parametrar finns i Omvända sökparametrar.

Det här exemplet visar hur du söker efter en korsgata baserat på koordinaterna för en adress.

  1. I Postman-appen väljer du Ny för att skapa begäran. I fönstret Skapa ny väljer du HTTP-begäran. Ange ett begärandenamn för begäran.

  2. Välj metoden GET HTTP på fliken builder och ange följande URL. För den här begäran och andra begäranden som nämns i den här artikeln ersätter {Your-Azure-Maps-Subscription-key} du med din Azure Kartor-prenumerationsnyckel. Begäran bör se ut som följande 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
    

    Search cross street.

  3. Välj Skicka och granska svarstexten. Observera att svaret innehåller värdet crossStreetSouth Atlantic Street.

Nästa steg