Sök efter en plats med hjälp av Azure Maps usluga pretrage 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 Maps-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
Viktigt!
I URL-exemplen i den här artikeln måste du ersätta {Your-Azure-Maps-Subscription-key}
med din Azure Maps-prenumerationsnyckel.
Den här artikeln använder bruno-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.
Öppna bruno-appen och välj NY BEGÄRAN för att skapa begäran. I fönstret NY BEGÄRAN anger du Typ till HTTP. Ange ett namn för begäran.
Välj metoden GET HTTP i listrutan URL och ange sedan följande URL:
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
Markera knappen Skapa.
Välj knappen Kör.
Den här begäran söker efter en specifik adress:
400 Broad St, Seattle, WA 98109
. Sök sedan efter en adress som har mer än en möjlig plats.I avsnittet Params ändrar du
query
nyckeln till400 Broad, Seattle
och väljer sedan knappen Kör.Försök sedan att ange
query
nyckeln till400 Broa
och välj sedan knappen Kör.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
Fuzzy Search stöder standardsökningar med en rad och fritt formulär. Vi rekommenderar att du använder Fuzzy-API:et för Azure Maps Search 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).
Sök efter en adress med Fuzzy Search
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.
Öppna bruno-appen och välj NY BEGÄRAN för att skapa begäran. I fönstret NY BEGÄRAN anger du Typ till HTTP. Ange ett namn för begäran.
Välj metoden GET HTTP i listrutan URL och ange sedan följande URL:
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.Välj knappen Kör och granska sedan svarstexten.
Den tvetydiga frågesträngen för "pizza" returnerade 10 intressepunkter (POI) resulterar 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 Geokodningstäckning för Azure Maps.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
countrySet
avsnittet Params och ange dess värde tillUS
.countrySet
Om du anger nyckeln tillUS
begränsas resultatet till USA.Resultaten begränsas nu av landskoden och frågan returnerar pizzarestauranger i USA.
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 parameternlimit
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 Välj Kör. Svaret innehåller resultat för pizzarestauranger nära Seattle Space Needle.
Sök efter en gatuadress med hjälp av omvänd adresssökning
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.
Öppna bruno-appen och välj NY BEGÄRAN för att skapa begäran. I fönstret NY BEGÄRAN anger du Typ till HTTP. Ange ett namn för begäran.
Välj metoden GET HTTP i listrutan URL och ange sedan 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
Välj knappen Kör och granska svarstexten. Du bör se ett frågeresultat. Svaret innehåller viktig adressinformation om Safeco Field.
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. Välj knappen Kör och granska svarstexten.
Lägg sedan till
entityType
nyckeln och ange dess värde tillMunicipality
. NyckelnentityType
åsidosätterreturnMatchType
nyckeln i föregående steg.returnSpeedLimit
ochreturnRoadUse
behöver också tas bort eftersom du begär information om kommunen. Alla möjliga entitetstyper finns i Entitetstyper.Välj knappen Kör. 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 returneradegeometryId
användas för att begära gränspolygon via Azure Maps Get Search Polygon API.
Dricks
Mer information om dessa och andra parametrar finns i Omvända sökparametrar.
Sök efter korsgata med hjälp av sökvägssökning med omvänd adress
Det här exemplet visar hur du söker efter en korsgata baserat på koordinaterna för en adress.
Öppna bruno-appen och välj NY BEGÄRAN för att skapa begäran. I fönstret NY BEGÄRAN anger du Typ till HTTP. Ange ett namn för begäran.
Välj metoden GET HTTP i listrutan URL och ange sedan 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
Välj knappen Kör och granska svarstexten. Observera att svaret innehåller värdet
crossStreet
South Atlantic Street
.