Objekty v mapě (budovy / místnosti / dveře) mají své jedinečné identifikátory. Pro jejich zjištění přidejte parametr identifyCallback
a do něj callback funkci. Po kliknutí do mapy se spustí hledání objektů a výsledky (včetně souřadnic) se předají této funkci jako parametr. Callback by měl vracet hodnotu true/false, podle které se zobrazí/nezobrazí "špendlík" v mapě. Pokud potřebujete, aby mohl uživatel vybrat jen určitý typ objektu, využijte parametr identifyTypes
. V tomto příkladu lze vyhledávat budovy, místnosti i dveře a identifikované objekty jsou vypsány jako prostý text přímo do webové stránky.
<script type="text/javascript"> /** * @param {{ * coordsInMeters: (ol/coordinate/Coordinate|undefined), * coordsInDegrees: (ol/coordinate/Coordinate|undefined), * buildingCode: (string|undefined), * roomCode: (string|undefined), * doorCode: (string|undefined)}} result * @return {boolean} */ var identifyCallback = function(result){ var el = document.getElementById('identifyResult'); var childEl = document.createElement('div'); childEl.innerHTML = ( "Souřadnice v metrech (x, y): " + result.coordsInMeters + "<br>" + "Souřadnice ve stupních: " + result.coordsInDegrees + "<br>" + "Identifikátor budovy: " + result.buildingCode + "<br>" + "Identifikátor místnosti: " + result.roomCode + "<br>"+ "Identifikátor dveří: " + result.doorCode + "<br>" ); if(el.hasChildNodes()){ var child; while ((child = el.firstChild)) { el.removeChild(child); } } el.appendChild(childEl); //there might be an aditional condition //return true => show marker //return false => do not show marker return true; }; munimap.create({ target: 'map', markers: ['BHA36'], identifyTypes: ['building', 'room', 'door'], identifyCallback: identifyCallback }); </script>
V příkladu použité parametry funkce munimap.create
jsou následující:
target
- určuje id elementu, do kterého se mapa vykreslímarkers
- určuje, která budova či budovy se v mapě označí a mapa se na ně vycentrujeidentifyTypes
- definuje typy objektů, které lze identifikovat.identifyCallback
- definuje funkci pro zpracování identifikovaných objektůParametr markers
akceptuje polohový kód budovy (nebo jejich seznam oddělený čárkou). Tyto polohové kódy můžete k jednotlivým budovám dohledat například v aplikaci Kompas.
Parametry identifyTypes
a identifyCallback
jsou experimentální. V tomto konkrétním příkladě jsou definovány všechny možné typy objektů k indentifkaci a funkce, která po kliknutí v mapě tyto objekty vypíše.
Více se dozvíte v naší dokumentaci.