Masarykova univerzita

- popis rozhraní

Upozornění Toto je starší verze (2.1.1) munimapu. Doporučujeme použít nejnovější verzi.

Pro formální popis rozhraní používáme javascriptovou anotaci JSDoc.

Funkce munimap.create

Vytvoří mapu do zadaného elementu a vykreslí ji dle zadaných parametrů.

Specifikace

munimap.create(options: Object): Promise<ol.Map>

Vstup

Objekt definující požadované vlastnosti vytvářené mapy pomocí těchto parametrů:

Název parametruTypPopis
targetstring | Element
  • id elementu nebo element, do kterého se vloží mapové okno
  • parametr je povinný
markersArray.<string> | Array.<ol.Feature> | undefined


FeatureOptions
  • geometry: ol.geom.Point - geometrie
  • label: string|undefined - popisek "špendlíku"
  • detail: string|HTML|undefined - podrobné informace
  • color: string|undefined - barva popisku a výchozího "špendlíku"
  • onClick: (function(evt): (OnClickOptions|undefined))|undefined - callback po kliknutí na "špendlík"
  • icon: Object|undefined - definice vlastní ikony
    • url: string - url adresa symbolu
    • size: Array<number> - velikost (šířka, výška)
    • position: string|undefined - pozice ikony (above - nad souřadnicemi, below - pod souřadnicemi, origin - na souřadnice)



OnClickOptions
  • animation: string - po kliknutí animovat na "špendlík" (zoomTo - nazoomovat, centerTo - jen vycentrovat, none - bez animace)
  • pole textových řetězců může být
    • pole polohových kódů budov,
    • pole polohových kódů místností,
    • pole polohových kódů dveří nebo
    • jedna kategorie bodů zájmu (od verze 1.4)
  • polohové kódy budov, místností a dveří se mohou v poli kombinovat (od verze 1.5), kategorie bodů zájmu musí být uvedena jen jedna samostatně
  • v případě polohových kódů je možné využít zástupného znaku '_'
  • kategorie bodů zájmu mohou být
    • poi.ctg:print-center (tisková centra)
    • poi.ctg:credit-top-up-machine (bankovníky)
    • poi.ctg:retail-location (prodejní místa)
    • poi.ctg:study-room (počítačové studovny)
    • poi.ctg:virtual-tour (virtuální prohlídky)
    • poi.ctg:library (knihovny)
    • poi.ctg:it-center (IT centra)
    • poi.ctg:canteen (menzy)
    • poi.ctg:dormitory (koleje)
    • poi.ctg:office-for-studies (studijní oddělení)
  • od verze 1.1 je možné umístit "špendlík" na libovolné místo v mapě, a to pomocí pole objektů typu ol.Feature s parametry:
    • geometry definující geometrii pomocí objektu ol.geom.Point
    • label pro textový popisek bodu
    • detail pro textový / HTML popis v info bublině (nepovinný parametr)
    • color pro nastavení vlastní barvy (hexadecimální zápis #RRGGBB) špendlíku a popisku (nepovinný parametr)
  • od verze 1.5 je možné kombinovat "špendlíky" s polohovými kódy budov, místností a dveří
  • od verze 1.14 je možné dát "špendlíku" vlastní ikonu pomocí parametru icon u objektu typu ol.Feature. Vlastnosti parametru icon jsou následující:
    • url definující url ikony
    • size určující velikost ikony (šířku a výšku v pixelech)
    • position pro nastavení pozice ikony (nepovinný parametr)
      • above (nad souřadnicemi)
      • below (pod souřadnicemi)
      • origin (na souřadnice)
  • od verze 1.14.1 je callback funkce vázána přímo na ol.Feature
    • onClick pro nastavení callbacku po kliknutí na ikonu (nepovinný parametr)
      • předává evt typu PointerEvent
      • může vracet objekt options, díky kterému je možné ovlivňovat chování mapy po kliknutí na "špendlík"
        • animation - po kliknutí animovat na "špendlík" (zoomTo - nazoomovat, centerTo - jen vycentrovat, none - bez animace)
  • není-li parametr zadán, nic se v mapě nezvýrazní

pro zjištění polohových kódů budov, místností či dveří lze použít aplikaci Kompas

poiFilterArray<string> | undefined
  • parametr upřesňující výběr bodů zájmu
  • aktuálně použitelný pouze pro virtuální prohlídky (markers = poi.ctg:virtual-tour)
  • hodnoty parametru mohou být
    • 'norm' pro běžné virtuální prohlídky,
    • 'tech' pro virtuální prohlídky technických prostor
    • 'teir' pro průvodce přístupností budov pro osoby s pohybovým postižením střediska Teiresiás
  • není-li parametr zadán, zobrazí se všechny body zájmu podle ostatních zadaných parametrů
markerFilterArray<string> | undefined
  • pole zkratek součástí MU (pro možné hodnoty viz tabulku níže)
  • používá se pouze v kombinaci s parametrem markers nastaveným na jednu z kategorií bodů zájmu
  • filtruje body zájmu na základě příslušnosti k součástem MU
  • není-li parametr zadán, zobrazí se všechny body zájmu
  • Název součásti MUZkratka
    Archiv Masarykovy univerzityArch
    CEITECCEITEC
    Centrální řídící struktura CEITECCEITEC-CŘS
    Centrum jazykového vzděláváníCJV
    Centrum pro transfer technologiíCTT
    Centrum zahraniční spolupráceCZS
    Ekonomicko-správní fakultaESF
    Fakulta informatikyFI
    Fakulta sociálních studiíFSS
    Fakulta sportovních studiíFSpS
    Filozofická fakultaFF
    Kariérní centrumKarCentr
    Lékařská fakultaLF
    Mendelovo muzeumMMuz
    NakladatelstvíNakl
    Pedagogická fakultaPdF
    Právnická fakultaPrF
    Přírodovědecká fakultaPřF
    RektorátRMU
    Správa kolejí a menzSKM
    Správa UKBSUKB
    Stř.pro pomoc stud. se spec. nárokyTeiresiás
    Univerzitní centrum TelčUCT
    Ústav výpočetní technikyÚVT
markerLabelfunction((ol.Feature | ol.render.Feature), number): (string | null | undefined) | undefined
  • funkce pro úpravu textu popisků zvýrazněných budov či místností
  • první parametr je objekt, pro který funkce vrací popisek, druhý parametr je rozlišení mapy (resolution); aplikace tedy může ukazovat různé popisky jednoho objektu pro různé úrovně přiblížení
  • není-li funkce zadána, zobrazí se stejný text popisku jako v případě, kdy budova či místnost nejsou označeny

pro rozlišení jednotlivých zvýrazněných budov či místností lze využít jejich polohový kód, který ve funkci získáte pomocí feature.get('polohKod')

experimentální funkcionalita

cluster
{
  marked: {
    icon: {
      single: IconOptions|undefined,
      multiple: IconOptions|undefined
    }|undefined,
    color: {
      single: string|undefined,
      multiple: string|undefined
    }|undefined
  }|undefined,
  
  unmarked: {
    icon: {
      single: IconOptions|undefined,
      multiple: IconOptions|undefined
    }|undefined,
    color: {
      single: string|undefined,
      multiple: string|undefined
    }|undefined
  }|undefined,

  distance: number|undefined
}



IconOptions
  • icon: Object|undefined - definice vlastní ikony
    • url: string - url adresa symbolu
    • size: Array<number> - velikost (šířka, výška)
    • position: string|undefined - pozice ikony (above - nad souřadnicemi, below - pod souřadnicemi, origin - na souřadnice)
  • funkce pro konfiguraci shlukování
  • vlastnost marked/unmarked určuje, zda se jedná o cluster s alespoň jedním markerem
  • vlastnost icon definuje vlastní ikonu
    • url definující url ikony
    • size určující velikost ikony (šířku a výšku v pixelech)
    • position pro nastavení pozice ikony (nepovinný parametr)
      • above (nad souřadnicemi)
      • below (pod souřadnicemi)
      • origin (na souřadnice)
  • vlastnost color definuje barvu popisku
  • vlastnost single/multiple určuje, zda se jedná o cluster s jedním nebo vícero prvky
  • vlastnost distance definuje minimální vzdálenost mezi clustery v pixelech (default = 80)

experimentální funkcionalita

identifyTypes
Array<string> | undefined
  • pole klíčových slov typů (pro možné hodnoty viz tabulka níže)
  • používá se pouze v kombinaci s parametrem identifyCallback, který definuje funkci pro zpracování výsledků identifikace
  • určuje, které typy objektů je možné v mapě identifikovat
  • není-li parametr zadán, je možné identifikovat všechny objekty z tabulky níže
  • Název typu objektuKlíčové slovo
    budovabuilding
    místnostroom
    dveředoor
identifyCallback
function({
    coordsInMeters:
      (ol.coordinate.Coordinate | undefined),
    coordsInDegrees:
      (ol.coorindate.Coordinate | undefined),
    buildingCode: (string | undefined),
    roomCode: (string | undefined), 
    doorCode: (string | undefined)
}): (boolean) | undefined
  • funkce zpracovávající nalezené prvky při kliknutí do mapy
  • parametrem je objekt, který obsahuje informace o identifikovaném prvku, konkrétně:
    • souřadnice v metrech (coordsInMeters)
    • souřadnice ve stupních (coordsInDegrees)
    • identifikátor budovy (buildingCode)
    • identifikátor místnosti (roomCode)
    • identifikátor dveří (doorCode)
  • prostřednictvím návratové hodnoty funkce je možné řídit vykreslení 'špendlíku' v místě kliknutí
  • není-li funkce zadána, identifikace je deaktivována
  • typy objektů, které budou identifikovány, lze určit parametrem identifyTypes

experimentální funkcionalita

zoomToArray<string> | string | undefined
  • pole polohových kódů budov, nebo polohových kódů místností, na které se má mapa zazoomovat
  • v polohových kódech je možné využít zástupného znaku '_'
  • není-li parametr zadán a současně je zadán parametr markers, převezme hodnotu tohoto parametru
  • není povoleno použítí parametru zároveň s parametrem center

pro zjištění polohových kódů budov či místností lze použít aplikaci Kompas

zoomnumber | undefined
  • výchozí zoom mapy
  • není-li parametr zadán, je dopočítán podle zoomTo, případně se zobrazí celé Brno
  • je akceptováno celé kladné číslo v rozsahu 0 až 23, kdy 0 je pohled na celý svět a 23 je největší povolený zoom

zoom 13 odpovídá pohledu na celé Brno

centerol.coordinate.Coordinate | undefined
  • výchozí střed mapy v zeměpisné šířce a délce (EPSG:4326)
  • není-li parametr zadán, je dopočítán podle zoomTo, případně se zobrazí celé Brno
  • není povoleno použítí parametru zároveň s parametrem zoomTo
langstring | undefined
  • jazyk
  • možné hodnoty jsou 'cs' a 'en'
  • výchozí nastavení je 'cs'
baseMapstring | undefined
  • podkladová mapa
  • 'arcgis' pro barevnou ArcGIS Online mapu a 'arcgis-bw' pro její černobílou verzi (při přiblížení na zoom 13 a více v polárních oblastech nad 60° zeměpisné šířky se mapa automaticky přepíná na OpenStreetMap kvůli chybějícím datům)
  • 'osm' pro barevnou OpenStreetMapu a 'osm-bw' pro její černobílou verzi
  • výchozí nastavení je 'arcgis-bw'

v prohlížečích Internet Explorer (mimo Edge) je podkladová mapa zobrazena vždy barevně nezávisle na hodnotě parametru baseMap

pubTranboolean | undefined
  • zastávky brněnské MHD s info bublinou
  • možné hodnoty jsou true pro zobrazení zastávek a false pro skrytí
  • výchozí nastavení je false
  • informace o umístění zastávek MHD poskytuje firma KORDIS JMK, a.s.

Výstup

Promise<ol.Map>

Funkce munimap.reset

Přenastaví zadané parametry mapy na nové hodnoty, ostatní parametry nastaví na výchozí hodnoty.

Specifikace

munimap.reset(map: ol.Map, options: Object): Promise<ol.Map>

Vstup

Již existující mapa vytvořená pomocí funkce munimap.create a objekt s parametry, které mají být přenastaveny. Oproti funkci munimap.create nejsou potřeba parametry target a lang, jelikož ty jsou definovány pro původní mapu.

Název parametruTypPopis
markersArray<string> | Array<ol.Feature> | undefinedviz parametr markers metody create
poiFilterArray<string> | undefinedviz parametr poiFilter metody create
markerFilterArray<string> | undefinedviz parametr markerFilter metody create
markerLabelfunction((ol.Feature | ol.render.Feature), number): (string | null | undefined) | undefinedviz parametr markerLabel metody create
zoomToArray<string> | string | undefinedviz parametr zoomTo metody create
zoomnumber | undefinedviz parametr zoom metody create
centerol.coordinate.Coordinate | undefinedviz parametr center metody create
cluster
{
  marked: {
    icon: {
      single: IconOptions|undefined,
      multiple: IconOptions|undefined
    }|undefined,
    color: {
      single: string|undefined,
      multiple: string|undefined
    }|undefined
  }|undefined,
  
  unmarked: {
    icon: {
      single: IconOptions|undefined,
      multiple: IconOptions|undefined
    }|undefined,
    color: {
      single: string|undefined,
      multiple: string|undefined
    }|undefined
  }|undefined,

  distance: number|undefined
}



IconOptions
  • icon: Object|undefined - definice vlastní ikony
    • url: string - url adresa symbolu
    • size: Array<number> - velikost (šířka, výška)
    • position: string|undefined - pozice ikony (above - nad souřadnicemi, below - pod souřadnicemi, origin - na souřadnice)

viz parametr cluster metody create
identifyTypes
Array<string> | undefined
viz parametr identifyTypes metody create
identifyCallback
function({
    coordsInMeters:
      (ol.coordinate.Coordinate | undefined),
    coordsInDegrees:
      (ol.coordinate.Coordinate | undefined),
    buildingCode: (string | undefined),
    roomCode: (string | undefined), 
    doorCode: (string | undefined)
}): (boolean) | undefined
viz parametr identifyCallback metody create

Výstup

Promise<ol.Map>