Hely keresése az Azure Térképek Search szolgáltatás használatával

A Keresési szolgáltatás RESTful API-k készlete, amelyek segítségével a fejlesztők név, kategória és egyéb földrajzi adatok alapján kereshetnek címeket, helyeket és üzleti listákat. A hagyományos geokódolás támogatása mellett a szolgáltatások a földrajzi címeket és az utcakereszteket is megfordíthatják a szélességek és hosszúságok alapján. A keresés által visszaadott szélességi és hosszúsági értékek paraméterekként használhatók más Azure Térképek-szolgáltatásokban, például az Útvonal és az Időjárás szolgáltatásban.

Ez a cikk bemutatja, hogyan:

  • Földrajzi szélességi és hosszúsági koordináták kérése egy címhez (geokód címhelyéhez) a Keresési cím használatával.
  • Keressen egy címet vagy érdeklődési pontot (POI) a Fuzzy Search használatával.
  • A Fordított címkeresés funkcióval lefordíthatja a koordináták helyét utcacímre.
  • Lefordítani a koordináták helyét egy emberi, érthető keresztutcába a Keresési cím fordított kereszt utca használatával, amely leggyakrabban olyan alkalmazások nyomon követéséhez szükséges, amelyek gps-csatornát kapnak egy eszközről vagy eszközről, és szeretnék tudni, hogy hol található a koordináták.

Előfeltételek

  • Azure-Térképek-fiók
  • Előfizetési kulcs

Ez az oktatóanyag a Postman-alkalmazást használja, de választhat egy másik API-fejlesztési környezetet.

Földrajzi szélesség és hosszúság kérése egy címhez (geokódolás)

Az ebben a szakaszban szereplő példa a Keresési cím lekérése használatával konvertál egy címet szélességi és hosszúsági koordinátákká. Ezt a folyamatot geokódolásnak is nevezik. A koordináták visszaadása mellett a válasz olyan részletes címtulajdonságokat is visszaad, mint az utca, az irányítószám, az önkormányzat és az ország/régió adatai.

Tipp.

Ha több címmel rendelkezik a geokódoláshoz, a Post Search Címköteg használatával egyetlen kérelemben küldhet lekérdezéseket.

  1. A Postman alkalmazásban válassza az Új lehetőséget a kérés létrehozásához. Az Új létrehozása ablakban válassza a HTTP-kérés lehetőséget. Adja meg a kérés nevét .

  2. Válassza a GET HTTP metódust a szerkesztő lapon, és adja meg a következő URL-címet. Ebben a kérésben egy adott címet keresünk: 400 Braod St, Seattle, WA 98109. Ehhez a kéréshez és a cikkben említett egyéb kérésekhez cserélje le {Your-Azure-Maps-Subscription-key} az Azure Térképek előfizetési kulcsát.

    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. Válassza a kék Küldés gombot. A válasz törzse egyetlen hely adatait tartalmazza.

  4. Ezután keressen egy olyan címet, amelynek több lehetséges helye is van. A Params szakaszban módosítsa a kulcsot a query következőre400 Broad, Seattle: . Válassza a kék Küldés gombot.

    Search for address

  5. Ezután próbálja meg beállítani a kulcsot a query következőre 400 Broa.

  6. Válassza a Küldés gombot. A válasz több országból/régióból származó eredményeket is tartalmaz. Ha a felhasználók számára a megfelelő területre szeretne eredményeket geobiázni, mindig adja hozzá a lehető legtöbb helyadatokat a kéréshez.

A Fuzzy Search támogatja a szabványos egysoros és szabad formátumú kereséseket. Javasoljuk, hogy akkor használja az Azure Térképek Search Fuzzy API-t, ha nem ismeri a felhasználói bemeneti típust egy keresési kérelemhez. A lekérdezés bemenete lehet teljes vagy részleges cím. Ez lehet egy Pont típusú (POI) jogkivonat is, például a POI neve, a POI-kategória vagy a márka neve. Ezenkívül a keresési eredmények relevanciájának javítása érdekében korlátozza a lekérdezési eredményeket egy koordináta-hely és sugár használatával, vagy határolókeret meghatározásával.

Tipp.

A legtöbb keresési lekérdezés alapértelmezés szerint a teljesítmény javítása és a szokatlan eredmények csökkentése érdekében van.maxFuzzyLevel=1 A homályossági szinteket a paraméterek vagy minFuzzyLevel a maxFuzzyLevel paraméterek használatával módosíthatja. További információ maxFuzzyLevel és az összes választható paraméter teljes listája: Fuzzy Search URI Parameters.

Az ebben a szakaszban Fuzzy Search szereplő példa az egész világon keres pizzát, majd egy adott ország/régió hatókörén keres. Végül bemutatja, hogyan használható koordinátahely és sugár egy adott területen végzett keresés hatókörére, és hogyan korlátozhatja a visszaadott találatok számát.

Fontos

Ha a felhasználók számára a megfelelő területre szeretne eredményeket geobiázni, mindig adja hozzá a lehető legtöbb helyadatokat. További információ: Ajánlott eljárások a kereséshez.

  1. A Postman alkalmazásban válassza az Új lehetőséget a kérés létrehozásához. Az Új létrehozása ablakban válassza a HTTP-kérés lehetőséget. Adja meg a kérés nevét .

  2. Válassza a GET HTTP metódust a szerkesztő lapon, és adja meg a következő URL-címet. Ehhez a kéréshez és a cikkben említett egyéb kérésekhez cserélje le {Your-Azure-Maps-Subscription-key} az Azure Térképek előfizetési kulcsát.

    https://atlas.microsoft.com/search/fuzzy/json?&api-version=1.0&subscription-key={Your-Azure-Maps-Subscription-key}&language=en-US&query=pizza
    

    Megjegyzés:

    Az URL-útvonal json attribútuma határozza meg a válaszformátumot. Ez a cikk json-t használ a könnyű használat és az olvashatóság érdekében. A többi támogatott válaszformátum megkereséséhez tekintse meg a format paraméterdefiníciót az URI paraméter referenciadokumentációjában .

  3. Válassza a Küldés lehetőséget, és tekintse át a válasz törzsét.

    A "pizza" nem egyértelmű lekérdezési sztringje 10 pontnyi érdeklődési pontot (POI) adott vissza mind a "pizza" és az "étterem" kategóriában. Minden eredmény olyan részleteket tartalmaz, mint az utcacím, a szélességi és hosszúsági értékek, a port megtekintése és a hely belépési pontjai. Az eredmények mostantól változnak a lekérdezéshez, és nincsenek hivatkozási helyhez kötve.

    A következő lépésben a countrySet paraméter használatával csak azokat az országokat/régiókat adja meg, amelyek esetében az alkalmazásnak lefedettségre van szüksége. A támogatott országok/régiók teljes listáját a Keresési lefedettség című témakörben találja.

  4. Az alapértelmezett viselkedés az egész világon való keresés, ami esetleg szükségtelen eredményeket ad vissza. Ezután csak a Egyesült Államok keressen pizzát. Adja hozzá a countrySet kulcsot a Params szakaszhoz, és állítsa az értékét a következőre US: . Ha a kulcsot úgy countrySet állítja be, hogy US az eredményeket a Egyesült Államok köti össze.

    Search for pizza in the United States

    Az eredményeket az országkód határolja, és a lekérdezés a Egyesült Államok pizzaéttermeket adja vissza.

  5. A még célzottabb keresés érdekében egy lat/lon koordináta-pár hatókörén is kereshet. Az alábbi példa a Seattle Space Needle lat/lon koordinátáit használja. Mivel csak 400 méter sugarú körben szeretnénk eredményeket visszaadni, hozzáadjuk a paramétert radius . Emellett hozzáadjuk a limit paramétert, hogy az eredményeket az öt legközelebbi pizzahelyre korlátozzuk.

    A Params szakaszban adja hozzá a következő kulcs-érték párokat:

    Kulcs Érték
    Lat 47.620525
    Lon -122.349274
    Sugár 400
    korlát 5
  6. Válassza az Küldés lehetőséget. A válasz tartalmazza az eredményeket pizza éttermek közelében a Seattle Space Needle.

A Keresési cím fordított lekérése a koordinátákat emberi olvasható utcacímekké fordítja le. Ezt az API-t gyakran használják GPS-hírcsatornákat használó alkalmazásokhoz, és adott koordinátákon szeretnének címeket felderíteni.

Fontos

Ha a felhasználók számára a megfelelő területre szeretne eredményeket geobiázni, mindig adja hozzá a lehető legtöbb helyadatokat. További információ: Ajánlott eljárások a kereséshez.

Tipp.

Ha koordináta-helyekkel rendelkezik a geokód visszafejtéséhez, a Post Search Address Reverse Batch használatával egyetlen kérelemben küldhet lekérdezéseket.

Ez a példa bemutatja, hogy fordított kereséseket végez néhány választható paraméter használatával. Az opcionális paraméterek teljes listáját lásd : Fordított keresési paraméterek.

  1. A Postman alkalmazásban válassza az Új lehetőséget a kérés létrehozásához. Az Új létrehozása ablakban válassza a HTTP-kérés lehetőséget. Adja meg a kérés nevét .

  2. Válassza a GET HTTP metódust a szerkesztő lapon, és adja meg a következő URL-címet. Ehhez a kéréshez és a cikkben említett egyéb kérésekhez cserélje le {Your-Azure-Maps-Subscription-key} az Azure Térképek előfizetési kulcsát. A kérésnek a következő URL-címhez hasonlóan kell kinéznie:

    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. Válassza a Küldés lehetőséget, és tekintse át a válasz törzsét. Egy lekérdezési eredménynek kell megjelennie. A válasz tartalmazza Széf co mező kulcscímadatait.

  4. Ezután adja hozzá a következő kulcs/érték párokat a Params szakaszhoz:

    Kulcs Érték Visszáruk
    szám 0 A válasz tartalmazhatja az utca oldalát (balra/jobbra) és a szám eltolási pozícióját is.
    returnSpeedLimit true A címben megadott sebességkorlátot adja vissza.
    returnRoadUse true A címben szereplő úthasználati típusokat adja vissza. Az összes lehetséges úthasználati típust lásd : Úthasználati típusok.
    returnMatchType true Az egyezés típusát adja vissza. Az összes lehetséges értékről lásd : Fordított cím keresési eredményei.

    Search reverse.

  5. Válassza a Küldés lehetőséget, és tekintse át a válasz törzsét.

  6. Ezután hozzáadjuk a entityType kulcsot, és beállítjuk annak értékét.Municipality A entityType kulcs felülbírálja a returnMatchType kulcsot az előző lépésben. returnSpeedLimit és returnRoadUse el is kell távolítani, mivel adatokat kér az önkormányzatról. Az összes lehetséges entitástípust lásd : Entitástípusok.

    Search reverse entityType.

  7. Válassza az Küldés lehetőséget. Hasonlítsa össze az eredményeket az 5. lépésben visszaadott eredményekkel. Mivel a kért entitástípus most már municipalitylétezik, a válasz nem tartalmaz utcacímadatokat. A visszaadott érték geometryId felhasználható a határ sokszög lekérésére is az Azure Térképek Search Polygon API-val.

Tipp.

Ezekről és más paraméterekről további információt a Fordított keresési paraméterek című témakörben talál.

Ez a példa bemutatja, hogyan kereshet keresztutcát egy cím koordinátái alapján.

  1. A Postman alkalmazásban válassza az Új lehetőséget a kérés létrehozásához. Az Új létrehozása ablakban válassza a HTTP-kérés lehetőséget. Adja meg a kérés nevét .

  2. Válassza a GET HTTP metódust a szerkesztő lapon, és adja meg a következő URL-címet. Ehhez a kéréshez és a cikkben említett egyéb kérésekhez cserélje le {Your-Azure-Maps-Subscription-key} az Azure Térképek előfizetési kulcsát. A kérésnek a következő URL-címhez hasonlóan kell kinéznie:

    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. Válassza a Küldés lehetőséget, és tekintse át a válasz törzsét. Figyelje meg, hogy a válasz a következő értéket South Atlantic StreettartalmazzacrossStreet: .

További lépések