Sdílet prostřednictvím


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

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.

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

  2. 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
    
  3. Vyberte tlačítko Vytvořit.

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

  5. V části Parametry změňte query klíč na 400 Broad, Seattlea pak vyberte tlačítko spustit.

    Hledat adresu

  6. Pak zkuste klíč nastavit query na 400 Broaa 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 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.

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

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

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

    Hledat pizzu v USA

    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
    poloměr 400
    limit 5
  6. Vyberte Run (Spustit). 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. 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.

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

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

    Hledat obráceně.

  5. Vyberte tlačítko Spustit a zkontrolujte text odpovědi.

  6. Dále přidejte entityType klíč a nastavte 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 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í.

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

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

  2. 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
    
  3. Vyberte tlačítko Spustit a zkontrolujte text odpovědi. Všimněte si, že odpověď obsahuje crossStreet hodnotu South Atlantic Street.

Další kroky