ap_map
Vytvoření nové google mapy:
if ($$('.intro-google-map')) {
element, ve kterém se bude google mapa vykreslovat
$$('.intro-google-map').each(function(el) {
pokud element existuje, vytvoř nový objekt ap_map
var introMap = new ap_map(49.445120, 17.216248, el);
new ap_map(lat, lng, el) - zeměpísná šířka, výška, dom element pro vykreslení
$$('.list-wrap .content .element').each(function(marker) {
vykreslení markerů(bodů na mapě) na základe obsahu(contentu) vyspaného v html markupu(v šabloně) - tedy v elementu .intro-google-map jsou vypsány vnořené elementy(kapitoly/články), které jsou založené v redakci
var koor = marker.getElement('.params').get('text').split(' - ')[1];
lat = koor.split(',')[0];
lng = koor.split(',')[1];
vytažení koordinátu pro market z elementu. Koordináty jsou v redakci u článku jako parametr článku
ma = introMap.marker(lat, lng);
introMap.infowindow(ma, marker.get('html'));
vložení markeru do mapy a vytvoření info-okna (okno po kliknutí na marker)
});
items = $$('.places-list .content .element');
Array.each(items, function(i) {
i.addEvents({
click: function() {
google.maps.event.trigger(introMap.markers[items.indexOf(this)], 'click');
}
synchronizace kliknutí na článek/kapitolu(menu arkerů v domu) také otevře info-window u správného arkeru
});
});
});
}
Příklad:
if ($$('.intro-google-map')) {
$$('.intro-google-map').each(function(el) {
var introMap = new ap_map(49.445120, 17.216248, el);
$$('.list-wrap .content .element').each(function(marker) {
var koor = marker.getElement('.params').get('text').split(' - ')[1];
lat = koor.split(',')[0];
lng = koor.split(',')[1];
ma = introMap.marker(lat, lng);
introMap.infowindow(ma, marker.get('html'));
});
items = $$('.places-list .content .element');
Array.each(items, function(i) {
i.addEvents({
click: function() {
google.maps.event.trigger(introMap.markers[items.indexOf(this)], 'click');
}
});
});
});
}