Megosztás a következőn keresztül:


Hely keresése az Azure Maps 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 Maps-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

Fontos

A cikkben szereplő URL-példákban le kell cserélnie {Your-Azure-Maps-Subscription-key} az Azure Maps-előfizetési kulcsát.

Ez a cikk a bruno 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. Nyissa meg a bruno alkalmazást, és válassza az ÚJ KÉRÉS lehetőséget a kérés létrehozásához. Az ÚJ KÉRELEM ablakban állítsa a Típust HTTP-nek. Adja meg a kérés nevét.

  2. Válassza ki a GET HTTP metódust az URL-legördülő listában, majd adja meg a következő URL-címet:

    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 Létrehozás gombot.

  4. Válassza a futtatás gombot.

    Ez a kérés egy adott címet keres: 400 Broad St, Seattle, WA 98109. Ezután keressen egy olyan címet, amely több lehetséges hellyel rendelkezik.

  5. A Params szakaszban módosítsa a query kulcsot a következőre400 Broad, Seattle, majd válassza a futtatás gombot.

    Cím keresése

  6. Ezután próbálja meg beállítani a query kulcsot 400 Broa, majd válassza a futtatá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 Maps Search Fuzzy API-t, ha nem ismeri a felhasználói beviteli típust a 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. Nyissa meg a bruno alkalmazást, és válassza az ÚJ KÉRÉS lehetőséget a kérés létrehozásához. Az ÚJ KÉRELEM ablakban állítsa a Típust HTTP-nek. Adja meg a kérés nevét.

  2. Válassza ki a GET HTTP metódust az URL-legördülő listában, majd adja meg a következő URL-címet:

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

    Feljegyzé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 Futtatás gombot, majd tekintse át a válasz törzsét.

    A "pizza" nem egyértelmű lekérdezési sztringje 10 érdekes pontot adott vissza (POI) a "pizza" és az "étterem" kategóriában is. 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áért tekintse meg az Azure Maps geokódolási lefedettségét.

  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.

    Pizza keresése a Egyesült Államok

    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
    orsócsont 400
    korlát 5
  6. Válassza a Futtatá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. Nyissa meg a bruno alkalmazást, és válassza az ÚJ KÉRÉS lehetőséget a kérés létrehozásához. Az ÚJ KÉRELEM ablakban állítsa a Típust HTTP-nek. Adja meg a kérés nevét.

  2. Válassza ki a GET HTTP metódust az URL-legördülő listában, majd adja meg a következő URL-címet:

    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. Válassza ki a futtatás gombot, és tekintse át a válasz törzsét. Egy lekérdezési eredménynek kell megjelennie. A válasz tartalmazza a Safeco Mező kulcscímadatait.

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

    Kulcs Érték Válaszok
    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.

    Keresés fordítottan.

  5. Válassza ki a futtatás gombot, és tekintse át a válasz törzsét.

  6. Ezután adja hozzá a entityType kulcsot, és állítsa az értékét a következőre 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.

    Keresés fordított entitástípusban.

  7. Válassza a futtatás gombot. 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 Maps Get 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. Nyissa meg a bruno alkalmazást, és válassza az ÚJ KÉRÉS lehetőséget a kérés létrehozásához. Az ÚJ KÉRELEM ablakban állítsa a Típust HTTP-nek. Adja meg a kérés nevét.

  2. Válassza ki a GET HTTP metódust az URL-legördülő listában, majd adja meg a következő URL-címet:

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

Következő lépések