//Utility functions for map info window function mapit(obj) { lat = parseFloat(obj.attr('data-latitude')); lon = parseFloat(obj.attr('data-longitude')); elid= obj.attr('data-imgid'); map = L.map(document.getElementById("mw-"+elid)); centerCoord = new L.LatLng(lat, lon); zoom = 8; L.tileLayer.provider('Esri.WorldTopoMap', {maxZoom: 18, attribution: 'Map data © OpenStreetMap contributors, CC-BY-SA, Tiles © Esri and the GIS User Community'}).addTo(map); map.setView(centerCoord, zoom); L.marker([lat, lon]).addTo(map); } //########## utility functions to create/remove map container ############ function create_map(obj) { //find id of this image caption: var imgid = obj.attr('data-imgid'); //create container divs $('
').insertBefore($(obj).parent().parent()); //$(obj).parent().parent().parent().prepend('
'); $('#mc-'+imgid).append('
'); //deal with the variable height of div.legend $('#mc-'+imgid).css({ bottom: function(index, value) { return parseFloat($(obj).parent().parent().height())+20; } }); mapit(obj); } function remove_map(imgid) { $('#mc-'+imgid).remove(); } //############ Document.ready events ############## $(document).ready(function(){ //set up click events for map button $('.map-link').click( function() { imgid = $(this).attr('data-imgid'); if ($('#mc-'+imgid).is(":visible")) { remove_map(imgid); } else { create_map($(this)); } return false; }); var $ele = $('#slides').children(); var $curr = 0; $(document).bind('keydown', function (e) { var code = e.which; switch (code) { case 39: if ($curr <= $ele.size()) { $.scrollTo($ele[$curr], 800 ); $curr++; } break; case 37: if ($curr > 0) { $curr--; var $now = $curr; $now--; $.scrollTo($ele[$now], 800 ); } break; } return; }); });