Sdílet prostřednictvím


klientská knihovna balíčku vykreslování Azure Maps pro Python – verze 1.0.0b2

Tento balíček obsahuje sadu Python SDK pro Azure Maps Services pro vykreslování. Další informace o Azure Maps Services najdete tady.

Zdrojový kód | Referenční dokumentace k | rozhraní APIDokumentace k produktu

Právní omezení

Podpora balíčků Azure SDK Python pro Python 2.7 skončila 1. ledna 2022. Další informace a dotazy najdete na https://github.com/Azure/azure-sdk-for-python/issues/20691

Začínáme

Požadavky

Pokud používáte Azure CLI, nahraďte <resource-group-name> a <account-name> podle svého výběru a pomocí parametru <sku-name> vyberte správnou cenovou úroveň na základě vašich potřeb. Další podrobnosti najdete na této stránce .

az maps account create --resource-group <resource-group-name> --account-name <account-name> --sku <sku-name>

Instalace balíčku

Nainstalujte sadu AZURE MAPS Service Render SDK.

pip install azure-maps-render

Vytvoření a ověření MapsRenderClient

K vytvoření objektu klienta pro přístup k rozhraní API pro vykreslování Azure Maps budete potřebovat objekt přihlašovacích údajů. klient Azure Maps Render také podporuje dva způsoby ověřování.

1. Ověřování pomocí přihlašovacích údajů klíče předplatného

Ověření můžete provést pomocí klíče předplatného Azure Maps. Po vytvoření klíče předplatného Azure Maps nastavte hodnotu klíče jako proměnnou prostředí: AZURE_SUBSCRIPTION_KEY. Pak předejte AZURE_SUBSCRIPTION_KEY parametr jako credential do instance AzureKeyCredential.

from azure.core.credentials import AzureKeyCredential
from azure.maps.render import MapsRenderClient

credential = AzureKeyCredential(os.environ.get("AZURE_SUBSCRIPTION_KEY"))

render_client = MapsRenderClient(
    credential=credential,
)

2. Ověřování pomocí přihlašovacích údajů Azure Active Directory

Pomocí přihlašovacích údajů tokenu Azure Active Directory (AAD) se můžete ověřit pomocí knihovny identit Azure. Ověřování pomocí AAD vyžaduje počáteční nastavení:

Po nastavení můžete zvolit, který typ přihlašovacích údajů se azure.identity má použít. Jako příklad lze k ověření klienta použít DefaultAzureCredential :

Dále nastavte hodnoty ID klienta, ID tenanta a tajného klíče klienta aplikace AAD jako proměnné prostředí: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET

Budete také muset zadat Azure Maps prostředek, který chcete použít, zadáním parametru clientId v možnostech klienta. ID klienta prostředku Azure Maps najdete v částech Ověřování prostředku Azure Maps. Informace o tom, jak ho najít, najdete v dokumentaci .

from azure.maps.render import MapsRenderClient
from azure.identity import DefaultAzureCredential

credential = DefaultAzureCredential()
render_client = MapsRenderClient(
    client_id="<Azure Maps Client ID>",
    credential=credential
)

Klíčové koncepty

Klientská knihovna Azure Maps Render pro Python umožňuje interakci s každou komponentou pomocí vyhrazeného objektu klienta.

Synchronizovat klienty

MapsRenderClientje primární klient pro vývojáře, kteří používají klientskou knihovnu Azure Maps Render pro Python. Jakmile jste inicializovali MapsRenderClient třídu, můžete prozkoumat metody tohoto objektu klienta, abyste porozuměli různým funkcím služby Azure Maps Render, ke které máte přístup.

Asynchronní klienti

Tato knihovna obsahuje kompletní asynchronní rozhraní API podporované v Pythonu 3.5 a novějším. Abyste ho mohli používat, musíte nejprve nainstalovat asynchronní přenos, například aiohttp. Další informace najdete v dokumentaci k azure-core .

Asynchronní klienti a přihlašovací údaje by se měli zavřít, když už nejsou potřeba. Tyto objekty jsou asynchronní kontextové manažery a definují asynchronní close metody.

Příklady

Následující části obsahují několik fragmentů kódu, které pokrývají některé z nejběžnějších úloh vykreslování Azure Maps, mezi které patří:

Získat přiřazení k mapě

Tento požadavek umožňuje uživatelům požadovat informace o přiřazení autorských práv k mapě pro oddíl sady dlaždic.

from azure.maps.render import MapsRenderClient

result = maps_render_client.get_map_attribution(
    tileset_id=TilesetID.MICROSOFT_BASE,
    zoom=6,
    bounds=BoundingBox(
        south=42.982261,
        west=24.980233,
        north=56.526017,
        east=1.355233
    )
)

Získat dlaždici Mapy

Tento požadavek vrátí dlaždice mapy ve vektorových nebo rastrových formátech, které jsou obvykle integrovány do ovládacího prvku mapy nebo sady SDK. Některé ukázkové dlaždice, které lze požadovat, jsou Azure Maps dlaždice silnic nebo dlaždice weather radaru v reálném čase. Ve výchozím nastavení používá Azure Maps vektorové dlaždice pro ovládací prvek webové mapy (Webová sada SDK) a sadu Android SDK.

from azure.maps.render import MapsRenderClient

result = maps_render_client.get_map_tile(
    tileset_id=TilesetID.MICROSOFT_BASE,
    z=6,
    x=9,
    y=22,
    tile_size="512"
)

Získat sadu dlaždic Map

Tento požadavek poskytne metadata pro sadu dlaždic.

from azure.maps.render import MapsRenderClient

result = maps_render_client.get_map_tileset(tileset_id=TilesetID.MICROSOFT_BASE)

Získání statického obrázku mapy

Tento požadavek zajistí, že služba statického obrázku vykresluje uživatelem definovaný obdélníkový obrázek obsahující oddíl mapy s úrovní přiblížení od 0 do 20. Služba statických obrázků vykresluje uživatelem definovaný obdélníkový obrázek obsahující mapový oddíl pomocí úrovně přiblížení od 0 do 20. A také uložte výsledek do souboru jako png.

from azure.maps.render import MapsRenderClient

result = maps_render_client.get_map_static_image(img_format="png", center=(52.41064,4.84228))
# Save result to file as png
file = open('result.png', 'wb')
file.write(next(result))
file.close()

Tato žádost bude poskytovat informace o autorských právech pro službu Vykreslovat dlaždice.

from azure.maps.render import MapsRenderClient

result = maps_render_client.get_copyright_for_world()

Poradce při potížích

Obecné

Klienti Maps Render vyvolávají výjimky definované v Azure Core.

Tento seznam lze použít jako referenci k zachycení vyvolaných výjimek. Pokud chcete získat konkrétní kód chyby výjimky, použijte error_code atribut , exception.error_codetj. .

protokolování

Tato knihovna používá pro protokolování standardní knihovnu protokolování . Základní informace o relacích HTTP (adresy URL, hlavičky atd.) se protokolují na úrovni INFO.

Podrobné protokolování úrovně LADĚNÍ, včetně těl požadavků/odpovědí a nereagovaných hlaviček, je možné povolit na klientovi s argumentem logging_enable :

import sys
import logging
from azure.maps.render import MapsRenderClient

# Create a logger for the 'azure.maps.render' SDK
logger = logging.getLogger('azure.maps.render')
logger.setLevel(logging.DEBUG)

# Configure a console output
handler = logging.StreamHandler(stream=sys.stdout)
logger.addHandler(handler)

Další

Stále dochází k problémům? Pokud narazíte na nějaké chyby nebo máte návrhy, nahlaste problém v části Problémy projektu.

Další kroky

Další ukázkový kód

Začínáme s našimi ukázkami vykreslování map (ukázky asynchronní verze)

Několik ukázek sady Python SDK pro vykreslování Azure Maps je k dispozici v úložišti sady SDK Na GitHubu. Tyto ukázky poskytují příklad kódu pro další scénáře, se kterými se při práci s vykreslováním map běžně setkáváme.

set AZURE_SUBSCRIPTION_KEY="<RealSubscriptionKey>"

pip install azure-maps-render --pre

python samples/sample_authentication.py
python sample/sample_get_copyright_caption.py
python sample/sample_get_copyright_for_tile.py
python sample/sample_get_copyright_for_world.py
python sample/sample_get_copyright_from_bounding_box.py
python sample/sample_get_map_attribution.py
python sample/sample_get_map_static_image.py
python sample/sample_get_map_tile.py
python sample/sample_get_map_tileset.py

Poznámky: --pre Příznak lze volitelně přidat, má obsahovat předběžné verze a vývojové verze pro pip install. Ve výchozím nastavení pip najde pouze stabilní verze.

Další podrobnosti najdete v úvodu k ukázce.

Další dokumentace

Rozsáhlejší dokumentaci k vykreslování Azure Maps najdete v dokumentaci k vykreslování Azure Maps na docs.microsoft.com.

Přispívání

Tento projekt vítá příspěvky a návrhy. Většina příspěvků vyžaduje souhlas s licenční smlouvou s přispěvatelem (CLA), která stanoví, že máte právo udělit nám práva k používání vašeho příspěvku a skutečně tak činíte. Podrobnosti najdete tady: https://cla.microsoft.com

Při odesílání žádosti o přijetí změn robot CLA automaticky určí, jestli je potřeba poskytnout smlouvu CLA, a příslušným způsobem žádost o přijetí změn upraví (např. přidáním jmenovky nebo komentáře). Stačí postupovat podle pokynů robota. Pro všechna úložiště používající naši smlouvu CLA to stačí udělat jenom jednou.

Tento projekt přijal pravidla chování pro Microsoft Open Source. Další informace najdete v nejčastějších dotazech k pravidlům chování nebo se obraťte na opencode@microsoft.com případné další dotazy nebo komentáře.