Vyhledání umístění pomocí služby Azure Maps 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 Maps, 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 Maps
- Klíč předplatného
Důležité
V příkladech adres URL v tomto článku budete muset nahradit {Your-Azure-Maps-Subscription-key}
klíčem předplatného Azure Maps.
Tento článek používá aplikaci bruno , 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.
Otevřete aplikaci bruno, vyberte NOVÝ POŽADAVEK a vytvořte žádost. V okně NOVÝ POŽADAVEK nastavte typ na HTTP. Zadejte název požadavku.
V rozevíracím seznamu adres URL vyberte metodu GET HTTP a zadejte následující adresu 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
Vyberte tlačítko Vytvořit.
Vyberte tlačítko Spustit.
Tento požadavek vyhledá konkrétní adresu:
400 Broad St, Seattle, WA 98109
. 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
a pak vyberte tlačítko spustit.Pak zkuste klíč nastavit
query
na400 Broa
a pak vyberte tlačítko Spustit.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 Maps Search, 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í.
Otevřete aplikaci bruno, vyberte NOVÝ POŽADAVEK a vytvořte žádost. V okně NOVÝ POŽADAVEK nastavte typ na HTTP. Zadejte název požadavku.
V rozevíracím seznamu adres URL vyberte metodu GET HTTP a zadejte následující adresu URL:
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 tlačítko Spustit a zkontrolujte text odpovědi.
Nejednoznačný řetězec 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ý seznampodporovaný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 poloměr 400 limit 5 Vyberte Run (Spustit). 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í.
Otevřete aplikaci bruno, vyberte NOVÝ POŽADAVEK a vytvořte žádost. V okně NOVÝ POŽADAVEK nastavte typ na HTTP. Zadejte název požadavku.
V rozevíracím seznamu adres URL vyberte metodu GET HTTP a zadejte následující adresu 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
Vyberte tlačítko Spustit a zkontrolujte text odpovědi. Měl by se zobrazit jeden výsledek dotazu. Odpověď obsahuje klíčové informace o adrese pole Safeco.
Dále do části Parametry přidejte následující páry klíč/hodnota:
Key Hodnota Návraty Číslo 0 Odpověď může obsahovat 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 tlačítko Spustit a zkontrolujte text odpovědi.
Dále přidejte
entityType
klíč a nastavte 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 tlačítko Spustit. 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í API Get Search Search.
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.
Otevřete aplikaci bruno, vyberte NOVÝ POŽADAVEK a vytvořte žádost. V okně NOVÝ POŽADAVEK nastavte typ na HTTP. Zadejte název požadavku.
V rozevíracím seznamu adres URL vyberte metodu GET HTTP a zadejte následující adresu 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 tlačítko Spustit a zkontrolujte text odpovědi. Všimněte si, že odpověď obsahuje
crossStreet
hodnotuSouth Atlantic Street
.