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.