//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;
});
});