diff options
Diffstat (limited to 'media/js/natparks.js')
-rw-r--r-- | media/js/natparks.js | 143 |
1 files changed, 0 insertions, 143 deletions
diff --git a/media/js/natparks.js b/media/js/natparks.js deleted file mode 100644 index ae69ecd..0000000 --- a/media/js/natparks.js +++ /dev/null @@ -1,143 +0,0 @@ -//Utility functions for map info window -function mapit(lat,lon,zoom,id) { - var map; - //create a new map - var centerCoord = new google.maps.LatLng(lat, lon); - var mapOptions = { - zoom: zoom, - center: centerCoord, - mapTypeId: google.maps.MapTypeId.TERRAIN, - disableDefaultUI: true, - navigationControl: true, - navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL} - }; - map = new google.maps.Map(document.getElementById('map-wrapper-'+id), mapOptions); - //get the geojson for this map - $.ajax({ - url: "/projects/data/"+id+".json", - dataType: "json", - success: function(data, text, request) { draw_poly(data); } - //complete: function(xhr, status) {console.log(status); return false; }, - }); - //draw the polygon - function draw_poly(data) { - var poly = createPolygons(data.features[0].geometry); - for (i=0;i<=poly.length-1;i++) { - poly[i].setMap(map); - } - - } -} - -// utility functions to create/remove map container -function create_map(obj) { - //break up the variable passed from the map link's title element - var lat = parseFloat(obj.title.split(',')[0]); - var lon = parseFloat(obj.title.split(',')[1]); - var zoom= parseInt(obj.title.split(',')[2]); - var id= obj.title.split(',')[3]; - - //create container divs - $(obj).parents().eq(3).append('<div class="map-container" id="map-container-'+id+'">'); - $('#map-container-'+id).append('<div class="map-wrapper" id="map-wrapper-'+id+'">'); - - - //deal with the variable height of div.legend - //$('#map-container').css({ - // bottom: function(index, value) { - // return parseFloat($(obj).parent().parent().css("height"))-2; - // } - // }); - - mapit(lat,lon,zoom,id); -} -function remove_map(id) { - $(id).remove(); -} - -//function to parse and render polygons for GMaps -//# taken from http://friism.com/drawing-geojson-based-polygons-on-google-maps -function createPolygons(areajson, bounds){ - var coords = areajson.coordinates; - var polygons = _(coords).reduce([], function(memo_n, n) { - var polygonpaths = _(n).reduce(new google.maps.MVCArray(), function(memo_o, o) { - var polygoncords = _(o).reduce(new google.maps.MVCArray(), function(memo_p, p) { - var mylatlng = new google.maps.LatLng(p[1], p[0]); - if(bounds){ - bounds.extend(mylatlng); - } - memo_p.push(mylatlng); - return memo_p; - }); - memo_o.push(polygoncords); - return memo_o; - }); - var polygon = new google.maps.Polygon({ - paths: polygonpaths, - strokeColor: "#201a11", - strokeOpacity: 0.8, - strokeWeight: 2, - fillColor: "#201a11", - fillOpacity: 0.35 - }); - memo_n.push(polygon); - return memo_n; - }); - return polygons; -} - -//functions to handle the "more" link -// utility functions to create/remove camera info container -function get_exif(obj,id) { - //$(obj).parents().eq(2).append('<div id="exif-container">'); - $(obj).parents().eq(3).append('<div class="more-container" id="'+id+'">'); $(obj).parents().eq(2).children('.meta').clone().appendTo('#'+id).css('visibility', 'visible'); - - - - //deal with the variable height of div.legend - $('#exif-container').css({ - bottom: function(index, value) { - return parseFloat($(obj).parent().parent().css("height"))-14; - } - }); -} -function remove_exif(id) { - $('#'+id).remove(); -} - - - - -$(document).ready(function(){ -//set up click events for map button - $('.map-link').click( function() { - var more_id = 'more-container-'+$(this).parent().next().children('.more-link').attr('id').split('-')[1]; - var id = '#map-container-'+this.title.split(',')[3]; - if ($('#'+more_id).is(":visible")){ - remove_exif(more_id); - } - if ($(id).is(":visible")) { - remove_map(id); - } else { - create_map(this); - } - return false; - - }); - - //set up click events for more info button - $('.more-link').click( function() { - var map_id = '#map-container-'+$(this).parent().prev().children('.map-link').attr('title').split(',')[3]; - var id = 'more-container-'+this.id.split('-')[1]; - if ($(map_id).is(":visible")){ - remove_map(map_id); - } - if ($('#'+id).is(":visible")) { - remove_exif(id); - } else { - get_exif(this, id); - } - return false; - }); - -});
\ No newline at end of file |