Vyhledání umístění pomocí Azure Mapy Search s
Vyhledávací služba je sada rozhraní RESTful API navržená tak, aby vývojářům pomohla hledat adresy, místa a obchodní výpisy podle názvu, kategorie a dalších geografických informací. Kromě podpory tradičního geokódování můžou služby také obrátit adresy geokódování a křížové ulice na základě zeměpisné šířky a délky. Hodnoty zeměpisné šířky a délky vrácené hledáním se dají použít jako parametry v jiných službách Azure Mapy, jako je trasa a počasí.
Tento článek ukazuje, jak:
- Vyžadovat souřadnice zeměpisné šířky a délky pro adresu (umístění adresy geografického kódu) pomocí adresy vyhledávání.
- Vyhledejte adresu nebo bod zájmu (POI) pomocí vyhledávání přibližných shod.
- Pomocí zpětného vyhledávání adres můžete přeložit umístění souřadnic na adresu ulice.
- Přeložte souřadnicové umístění na lidskou srozumitelnou ulici pomocí vyhledávací adresy Reverse Cross Street, nejčastěji potřeba při sledování aplikací, které přijímají GPS informační kanál ze zařízení nebo prostředku, a chtějí vědět, kde se souřadnice nachází.
Požadavky
- Účet Azure Mapy
- Klíč předplatného
Tento kurz používá aplikaci Postman , ale můžete zvolit jiné vývojové prostředí rozhraní API.
Vyžádání zeměpisné šířky a délky adresy (geokódování)
Příklad v této části používá k převodu adresy na souřadnice zeměpisné šířky a délky adresu . Tento proces se také nazývá geokódování. Kromě vrácení souřadnic vrátí odpověď také podrobné vlastnosti adresy, jako jsou ulice, PSČ, obec a informace o zemi/oblasti.
Tip
Pokud máte sadu adres pro geografické kódování, můžete pomocí dávky dotazů odeslat dávku dotazů v jednom požadavku.
V aplikaci Postman vyberte Možnost Nový a vytvořte požadavek. V okně Vytvořit nový vyberte požadavek HTTP. Zadejte název žádosti.
Na kartě Tvůrce vyberte metodu GET HTTP a zadejte následující adresu URL. V této žádosti hledáme konkrétní adresu:
400 Braod St, Seattle, WA 98109
. Pro tuto žádost a další požadavky uvedené v tomto článku nahraďte{Your-Azure-Maps-Subscription-key}
klíčem předplatného Azure Mapy.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
Vyberte modré tlačítko Odeslat . Tělo odpovědi obsahuje data pro jedno umístění.
V dalším kroku vyhledejte adresu, která má více než jedno možné umístění. V části Parametry změňte
query
klíč na400 Broad, Seattle
. Vyberte modré tlačítko Odeslat .Dále zkuste nastavit
query
klíč na400 Broa
.Vyberte tlačítko Odeslat. Odpověď zahrnuje výsledky z více zemí nebo oblastí. Pokud chcete získat výsledky geobias do příslušné oblasti pro uživatele, vždy do žádosti přidejte co nejvíce podrobností o poloze.
Vyhledávání přibližných shod
Vyhledávání přibližných shod podporuje standardní jednořádkové a volné vyhledávání. Doporučujeme použít rozhraní API služby Azure Mapy Search Fuzzy, pokud neznáte typ vstupu uživatele pro požadavek hledání. Vstup dotazu může být úplná nebo částečná adresa. Může to být také token bodu zájmu (POI), jako je název poI, kategorie POI nebo název značky. Kromě toho, chcete-li zlepšit význam výsledků hledání, omezit výsledky dotazu pomocí umístění souřadnic a poloměru nebo definováním ohraničujícího pole.
Tip
Většina vyhledávacích dotazů ve výchozím nastavení maxFuzzyLevel=1
zlepšuje výkon a snižuje neobvyklé výsledky. Upravte úrovně fuzziness pomocí maxFuzzyLevel
parametrů.minFuzzyLevel
Další informace o maxFuzzyLevel
všech volitelných parametrech a úplný seznam všech volitelných parametrů najdete v tématu Parametry identifikátoru URI vyhledávání přibližných hodnot.
Hledání adresy pomocí vyhledávání přibližných shod
Příklad v této části používá Fuzzy Search
k hledání pizzy v celém světě a pak hledá obor konkrétní země nebo oblasti. Nakonec ukazuje, jak použít souřadnicové umístění a poloměr k určení rozsahu hledání na konkrétní oblast a omezit počet vrácených výsledků.
Důležité
Pokud chcete získat výsledky geobias do příslušné oblasti pro vaše uživatele, vždy přidejte co nejvíce podrobností o poloze. Další informace najdete v tématu Osvědčené postupy pro vyhledávání.
V aplikaci Postman vyberte Možnost Nový a vytvořte požadavek. V okně Vytvořit nový vyberte požadavek HTTP. Zadejte název žádosti.
Na kartě Tvůrce vyberte metodu GET HTTP a zadejte následující adresu URL. Pro tuto žádost a další požadavky uvedené v tomto článku nahraďte
{Your-Azure-Maps-Subscription-key}
klíčem předplatného Azure Mapy.https://atlas.microsoft.com/search/fuzzy/json?&api-version=1.0&subscription-key={Your-Azure-Maps-Subscription-key}&language=en-US&query=pizza
Poznámka:
Atribut JSON v cestě URL určuje formát odpovědi. Tento článek používá json pro snadné použití a čitelnost. Další podporované formáty odpovědí najdete v definici parametru
format
v referenční dokumentaci k parametrům URI.Vyberte Odeslat a zkontrolujte text odpovědi.
Řetězec nejednoznačného dotazu pro "pizza" vrátil 10 bodů zájmu (POI) v kategoriích "pizza" i "restaurant". Každý výsledek obsahuje podrobnosti, jako je adresa ulice, hodnoty zeměpisné šířky a délky, port zobrazení a vstupní body pro umístění. Výsledky se teď pro tento dotaz liší a nejsou svázané s žádným referenčním umístěním.
V dalším kroku použijete
countrySet
parametr k určení pouze zemí a oblastí, pro které vaše aplikace potřebuje pokrytí. Úplný seznam podporovanýchzemíchVýchozím chováním je prohledávat celý svět a potenciálně vracet nepotřebné výsledky. Dále vyhledejte pizzu pouze v USA.
countrySet
Přidejte klíč do oddílu Params a nastavte jeho hodnotu naUS
.countrySet
Nastavení klíče tak, abyUS
ohraničil výsledky na USA.Výsledky jsou teď vázané kódem země a dotaz vrátí restaurace pizzy v USA.
Chcete-li získat ještě cílenější vyhledávání, můžete prohledávat rozsah páru souřadnic lat/lon. Následující příklad používá souřadnice lat/lon seattlu Space Needle. Vzhledem k tomu, že chceme vrátit pouze výsledky v okruhu 400 metrů, přidáme
radius
parametr. Přidámelimit
také parametr, který omezí výsledky na pět nejbližších míst pizzy.V části Parametry přidejte následující páry klíč/hodnota:
Key Hodnota Lat 47.620525 Lon -122.349274 Radius 400 limit 5 Vyberte Odeslat. Odpověď zahrnuje výsledky pro restaurace pizzy poblíž Seattle Space Needle.
Hledání adresy na ulici pomocí zpětného vyhledávání adres
Funkce Get Search Address Reverse překládá souřadnice na čitelné poštovní adresy člověka. Toto rozhraní API se často používá pro aplikace, které využívají informační kanály GPS a chtějí zjišťovat adresy v konkrétních souřadnicových bodech.
Důležité
Pokud chcete získat výsledky geobias do příslušné oblasti pro vaše uživatele, vždy přidejte co nejvíce podrobností o poloze. Další informace najdete v tématu Osvědčené postupy pro vyhledávání.
Tip
Pokud máte sadu umístění souřadnic pro reverzní geografické kódování, můžete pomocí dávky dotazů odeslat dávku dotazů v jediné žádosti pomocí služby Post Search Address Reverse Batch .
Tento příklad ukazuje provádění reverzních hledání pomocí několika volitelných parametrů, které jsou k dispozici. Úplný seznam volitelných parametrů najdete v tématu Reverzní parametry hledání.
V aplikaci Postman vyberte Možnost Nový a vytvořte požadavek. V okně Vytvořit nový vyberte požadavek HTTP. Zadejte název žádosti.
Na kartě Tvůrce vyberte metodu GET HTTP a zadejte následující adresu URL. Pro tuto žádost a další požadavky uvedené v tomto článku nahraďte
{Your-Azure-Maps-Subscription-key}
klíčem předplatného Azure Mapy. Požadavek by měl vypadat jako následující adresa 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
Vyberte Odeslat a zkontrolujte text odpovědi. Měl by se zobrazit jeden výsledek dotazu. Odpověď obsahuje informace o klíčové adrese o poli Sejf co.
Dále do části Parametry přidejte následující páry klíč/hodnota:
Key Hodnota Vrácení Číslo 0 Odpověď může zahrnovat stranu ulice (vlevo/vpravo) a také pozici posunu pro číslo. returnSpeedLimit true Vrátí limit rychlosti na adrese. returnRoadUse true Vrátí typy silničního použití na adrese. Všechny možné typy silničního použití najdete v tématu Typy silničního použití. returnMatchType true Vrátí typ shody. Všechny možné hodnoty najdete v tématu Výsledky hledání zpětné adresy. Vyberte Odeslat a zkontrolujte text odpovědi.
Dále přidáme
entityType
klíč a nastavíme jeho hodnotu naMunicipality
. KlíčentityType
přepíšereturnMatchType
klíč v předchozím kroku.returnSpeedLimit
areturnRoadUse
také je potřeba odebrat, protože žádáte o informace o obci. Všechny možné typy entit najdete v tématu Typy entit.Vyberte Odeslat. Porovnejte výsledky s výsledky vrácené v kroku 5. Vzhledem k tomu, že požadovaný typ entity je teď
municipality
, odpověď neobsahuje informace o poštovní adrese. VrácenýgeometryId
kód lze také použít k vyžádání mnohoúhelníku hranic prostřednictvím rozhraní Azure Mapy Get Search Polygon API.
Tip
Další informace o těchto parametrech a dalších parametrech najdete v tématu Reverzní parametry hledání.
Hledání na křížové ulici pomocí zpětného vyhledávání na křížové adrese
Tento příklad ukazuje, jak vyhledat křížovou ulici na základě souřadnic adresy.
V aplikaci Postman vyberte Možnost Nový a vytvořte požadavek. V okně Vytvořit nový vyberte požadavek HTTP. Zadejte název žádosti.
Na kartě Tvůrce vyberte metodu GET HTTP a zadejte následující adresu URL. Pro tuto žádost a další požadavky uvedené v tomto článku nahraďte
{Your-Azure-Maps-Subscription-key}
klíčem předplatného Azure Mapy. Požadavek by měl vypadat jako následující adresa 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
Vyberte Odeslat a zkontrolujte text odpovědi. Všimněte si, že odpověď obsahuje
crossStreet
hodnotuSouth Atlantic Street
.