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

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.

  1. 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.

  2. 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
    
  3. Vyberte modré tlačítko Odeslat . Tělo odpovědi obsahuje data pro jedno umístění.

  4. V dalším kroku vyhledejte adresu, která má více než jedno možné umístění. V části Parametry změňte query klíč na 400 Broad, Seattle. Vyberte modré tlačítko Odeslat .

    Search for address

  5. Dále zkuste nastavit query klíč na 400 Broa.

  6. 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 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.

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í.

  1. 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.

  2. 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 formatv referenční dokumentaci k parametrům URI.

  3. 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ích

  4. Vý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 na US. countrySet Nastavení klíče tak, aby US ohraničil výsledky na USA.

    Search for pizza in the United States

    Výsledky jsou teď vázané kódem země a dotaz vrátí restaurace pizzy v USA.

  5. 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áme limit 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
  6. Vyberte Odeslat. Odpověď zahrnuje výsledky pro restaurace pizzy poblíž Seattle Space Needle.

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í.

  1. 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.

  2. 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
    
  3. 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.

  4. 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.

    Search reverse.

  5. Vyberte Odeslat a zkontrolujte text odpovědi.

  6. Dále přidáme entityType klíč a nastavíme jeho hodnotu na Municipality. Klíč entityType přepíše returnMatchType klíč v předchozím kroku. returnSpeedLimit a returnRoadUse 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.

    Search reverse entityType.

  7. 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í.

Tento příklad ukazuje, jak vyhledat křížovou ulici na základě souřadnic adresy.

  1. 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.

  2. 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
    

    Search cross street.

  3. Vyberte Odeslat a zkontrolujte text odpovědi. Všimněte si, že odpověď obsahuje crossStreet hodnotu South Atlantic Street.

Další kroky