summaryrefslogtreecommitdiff
path: root/media/js/natparks.js
diff options
context:
space:
mode:
Diffstat (limited to 'media/js/natparks.js')
-rw-r--r--media/js/natparks.js143
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