Masarykova univerzita

- popis rozhraní

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

Pro formální popis rozhraní používáme javascriptovou anotaci pro Closure Compiler.

Funkce munimap.create

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

Specifikace

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

Vstup

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

Název parametru Typ Popis
target string | Element
  • id elementu nebo element, do kterého se vloží mapové okno
  • parametr je povinný
markers Array.<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

poiFilter Array.<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ů
markerFilter Array.<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 MU Zkratka
    Archiv Masarykovy univerzity Arch
    CEITEC CEITEC
    Centrální řídící struktura CEITEC CEITEC-CŘS
    Centrum jazykového vzdělávání CJV
    Centrum pro transfer technologií CTT
    Centrum zahraniční spolupráce CZS
    Ekonomicko-správní fakulta ESF
    Fakulta informatiky FI
    Fakulta sociálních studií FSS
    Fakulta sportovních studií FSpS
    Filozofická fakulta FF
    Kariérní centrum KarCentr
    Lékařská fakulta LF
    Mendelovo muzeum MMuz
    Nakladatelství Nakl
    Pedagogická fakulta PdF
    Právnická fakulta PrF
    Přírodovědecká fakulta PřF
    Rektorát RMU
    Správa kolejí a menz SKM
    Správa UKB SUKB
    Stř.pro pomoc stud. se spec. nároky Teiresiás
    Univerzitní centrum Telč UCT
    Ústav výpočetní techniky ÚVT
markerLabel function((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 objektu Klíčové slovo
    budova building
    místnost room
    dveře door
identifyCallback
function({
    coordsInMeters: (ol.Coordinate | undefined),
    coordsInDegrees: (ol.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

zoomTo Array.<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

zoom number | 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

center ol.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
lang string | undefined
  • jazyk
  • možné hodnoty jsou 'cs' a 'en'
  • výchozí nastavení je 'cs'
baseMap string | 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

pubTran boolean | 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

goog.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): goog.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 parametru Typ Popis
markers Array.<string> | Array.<ol.Feature> | undefined viz parametr markers metody create
poiFilter Array.<string> | undefined viz parametr poiFilter metody create
markerFilter Array.<string> | undefined viz parametr markerFilter metody create
markerLabel function((ol.Feature | ol.render.Feature), number): (string | null | undefined) | undefined viz parametr markerLabel metody create
zoomTo Array.<string> | string | undefined viz parametr zoomTo metody create
zoom number | undefined viz parametr zoom metody create
center ol.Coordinate | undefined viz 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 | undefined),
    coordsInDegrees: (ol.Coordinate | undefined),
    buildingCode: (string | undefined),
    roomCode: (string | undefined), 
    doorCode: (string | undefined)
}): (boolean) | undefined
viz parametr identifyCallback metody create

Výstup

goog.Promise<ol.Map>