diff options
author | Dave Whiteland <dave@mysociety.org> | 2013-02-06 15:08:23 +0000 |
---|---|---|
committer | Dave Whiteland <dave@mysociety.org> | 2013-02-06 15:08:23 +0000 |
commit | 0f24a44cd6e8b056db482cb91c85768b6d1e7d1d (patch) | |
tree | 09a90f38574ee62754f3c8ac077152ed99a38296 /web/js/map-OpenLayers.js | |
parent | c061769ba72f420e2f2c6064fa526648e57339f1 (diff) | |
parent | 5b2e18389734751165d2eeb21a3b3f2e8d2e8755 (diff) |
Merge remote branch 'origin/master' into oxfordshire-header
Diffstat (limited to 'web/js/map-OpenLayers.js')
-rw-r--r-- | web/js/map-OpenLayers.js | 66 |
1 files changed, 36 insertions, 30 deletions
diff --git a/web/js/map-OpenLayers.js b/web/js/map-OpenLayers.js index 85ab09889..88dc6d69e 100644 --- a/web/js/map-OpenLayers.js +++ b/web/js/map-OpenLayers.js @@ -16,7 +16,7 @@ function fixmystreet_update_pin(lonlat) { if (!$('#side-form-error').length) { $('<div id="side-form-error"/>').insertAfter($('#side-form')); } - $('#side-form-error').html('<h1>Reporting a problem</h1><p>' + data.error + '</p>').show(); + $('#side-form-error').html('<h1>' + translation_strings.reporting_a_problem + '</h1><p>' + data.error + '</p>').show(); $('#side-form').hide(); return; } @@ -26,7 +26,7 @@ function fixmystreet_update_pin(lonlat) { if ( data.extra_name_info && !$('#form_fms_extra_title').length ) { // there might be a first name field on some cobrands var lb = $('#form_first_name').prev(); - if ( lb.length == 0 ) { lb = $('#form_name').prev(); } + if ( lb.length === 0 ) { lb = $('#form_name').prev(); } lb.before(data.extra_name_info); } }); @@ -82,6 +82,9 @@ function fixmystreet_onload() { fixmystreet.map.addLayer(area); if ( fixmystreet.area.length == 1 ) { area.events.register('loadend', null, function(a,b,c) { + if ( fixmystreet.area_format ) { + area.styleMap.styles['default'].defaultStyle = fixmystreet.area_format; + } var bounds = area.getDataExtent(); if (bounds) { var center = bounds.getCenterLonLat(); @@ -147,18 +150,20 @@ function fixmystreet_onload() { } fixmystreet.markers = new OpenLayers.Layer.Vector("Pins", pin_layer_options); fixmystreet.markers.events.register( 'loadend', fixmystreet.markers, function(evt) { - if (fixmystreet.map.popups.length) fixmystreet.map.removePopup(fixmystreet.map.popups[0]); + if (fixmystreet.map.popups.length) { + fixmystreet.map.removePopup(fixmystreet.map.popups[0]); + } }); var markers = fms_markers_list( fixmystreet.pins, true ); fixmystreet.markers.addFeatures( markers ); + function onPopupClose(evt) { + fixmystreet.select_feature.unselect(selectedFeature); + OpenLayers.Event.stop(evt); + } if (fixmystreet.page == 'around' || fixmystreet.page == 'reports' || fixmystreet.page == 'my') { fixmystreet.select_feature = new OpenLayers.Control.SelectFeature( fixmystreet.markers ); var selectedFeature; - function onPopupClose(evt) { - fixmystreet.select_feature.unselect(selectedFeature); - OpenLayers.Event.stop(evt); - } fixmystreet.markers.events.register( 'featureunselected', fixmystreet.markers, function(evt) { var feature = evt.feature, popup = feature.popup; fixmystreet.map.removePopup(popup); @@ -171,7 +176,7 @@ function fixmystreet_onload() { var popup = new OpenLayers.Popup.FramedCloud("popup", feature.geometry.getBounds().getCenterLonLat(), null, - feature.attributes.title + "<br><a href=/report/" + feature.attributes.id + ">More details</a>", + feature.attributes.title + "<br><a href=/report/" + feature.attributes.id + ">" + translation_strings.more_details + "</a>", { size: new OpenLayers.Size(0,0), offset: new OpenLayers.Pixel(0,-40) }, true, onPopupClose); feature.popup = popup; @@ -201,7 +206,8 @@ function fixmystreet_onload() { var showhide = [ 'Show pins', 'Hide pins', 'Dangos pinnau', 'Cuddio pinnau', - "Vis nåler", "Gjem nåler" + "Vis nåler", "Gjem nåler", + "Zeige Stecknadeln", "Stecknadeln ausblenden" ]; for (var i=0; i<showhide.length; i+=2) { if (this.innerHTML == showhide[i]) { @@ -267,19 +273,24 @@ $(function(){ } // Set it up our way - fixmystreet.layer_options = OpenLayers.Util.extend({ - zoomOffset: fixmystreet.zoomOffset, - transitionEffect: 'resize', - numZoomLevels: fixmystreet.numZoomLevels - }, fixmystreet.layer_options); var layer; - if (fixmystreet.layer_options.matrixIds) { - layer = new fixmystreet.map_type(fixmystreet.layer_options); - } else { - layer = new fixmystreet.map_type("", fixmystreet.layer_options); + if (!fixmystreet.layer_options) { + fixmystreet.layer_options = [ {} ]; + } + for (var i=0; i<fixmystreet.layer_options.length; i++) { + fixmystreet.layer_options[i] = OpenLayers.Util.extend({ + zoomOffset: fixmystreet.zoomOffset, + transitionEffect: 'resize', + numZoomLevels: fixmystreet.numZoomLevels + }, fixmystreet.layer_options[i]); + if (fixmystreet.layer_options[i].matrixIds) { + layer = new fixmystreet.map_type(fixmystreet.layer_options[i]); + } else { + layer = new fixmystreet.map_type("", fixmystreet.layer_options[i]); + } + fixmystreet.map.addLayer(layer); } - fixmystreet.map.addLayer(layer); if (!fixmystreet.map.getCenter()) { var centre = new OpenLayers.LonLat( fixmystreet.longitude, fixmystreet.latitude ); @@ -349,7 +360,7 @@ $(function(){ $('#sub_map_links').show(); //only on mobile $('#mob_sub_map_links').remove(); - $('.mobile-map-banner').html('<a href="/">Home</a> Place pin on map'); + $('.mobile-map-banner').html('<a href="/">' + translation_strings.home + '</a> ' + translation_strings.place_pin_on_map); fixmystreet.page = 'around'; }); @@ -511,7 +522,7 @@ OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control, { if (sidebar.css('position') == 'absolute') { var w = sidebar.width(), h = sidebar.height(), o = sidebar.offset(), - $map_box = $('#map_box'), bo = $map_box.offset(); + $map_boxx = $('#map_box'), bo = $map_boxx.offset(); // e.xy is relative to top left of map, which might not be top left of page e.xy.x += bo.left; e.xy.y += bo.top; @@ -536,15 +547,10 @@ OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control, { var $map_box = $('#map_box'), width = $map_box.width(), height = $map_box.height(); - $map_box.append( - '<p id="mob_sub_map_links">' + - '<a href="#" id="try_again">Try again</a>' + - '<a href="#ok" id="mob_ok">OK</a>' + - '</p>' - ).css({ position: 'relative', width: width, height: height, marginBottom: '1em' }); + $map_box.append( '<p id="mob_sub_map_links">' + '<a href="#" id="try_again">' + translation_strings.try_again + '</a>' + '<a href="#ok" id="mob_ok">' + translation_strings.ok + '</a>' + '</p>' ).css({ position: 'relative', width: width, height: height, marginBottom: '1em' }); // Making it relative here makes it much easier to do the scrolling later - $('.mobile-map-banner').html('<a href="/">Home</a> Right place?'); + $('.mobile-map-banner').html('<a href="/">' + translation_strings.home + '</a> ' + translation_strings.right_place); // mobile user clicks 'ok' on map $('#mob_ok').toggle(function(){ @@ -553,12 +559,12 @@ OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control, { //to do this on other pages where #side-form might not be $('html, body').animate({ scrollTop: height-60 }, 1000, function(){ $('#mob_sub_map_links').addClass('map_complete'); - $('#mob_ok').text('MAP'); + $('#mob_ok').text(translation_strings.map); }); }, function(){ $('html, body').animate({ scrollTop: 0 }, 1000, function(){ $('#mob_sub_map_links').removeClass('map_complete'); - $('#mob_ok').text('OK'); + $('#mob_ok').text(translation_strings.ok); }); }); } |