Mapy¶
SDK má MapModule pro stahování a přístup k informacím souvisejícím s mapami v DHIS2.
Ve výchozím nastavení má DHIS2 některé základní mapy:
- OpenStreetMaps
- Bing: Aby fungovaly, je nutné nastavit klíč bing API na serveru.
- Azure: it is required to setup an Azure Maps API key in the server to make them work.
Additionally, it is possible to define custom basemaps in the Maintenance app.
All these map layers are downloaded in a separate call:
d2.mapsModule().mapLayersDownloader().downloadMetadata()
Important
The SDK only downloads maps with type BASEMAP.
Poté lze k mapovým vrstvám přistupovat pomocí odpovídajícího úložiště sbírky, jako obvykle:
d2.mapsModule().mapLayers()
.byName().eq("map_layer")
.withImageryProviders()
.get()
Tyto mapové vrstvy obsahují užitečné informace pro jejich zobrazení pomocí SDK pro mapy, zejména:
- imageUrl: může to vypadat jako
https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png. - subdomény: poskytovatelé map obvykle nabízejí seznam subdomén, například
["a", "b", "c", "d"]. - subdomainPlaceholder: token, který musí být nahrazen v imageUrl, v tomto případě
{s}. - external: whether the map is user-defined (external) or built-in (bing, azure, openstreetmaps).
- linkedLayerUid: some layers (like Azure Hybrid) are composed of multiple map layers. In that case, this field contains the UID of the base layer that this layer should be rendered on top of.
Je jednoduché získat seznam imageUrl iterací seznamu subdomén a jeho nahrazením v adrese URL pomocí zástupného symbolu.