diff options
author | Struan Donald <struan@exo.org.uk> | 2018-04-04 09:49:38 +0100 |
---|---|---|
committer | Matthew Somerville <matthew-github@dracos.co.uk> | 2018-08-03 21:35:40 +0100 |
commit | 30426bc093541066f8cc2f40b4a23261d5e4526c (patch) | |
tree | 528a2d6b8f481ba63f31f0ef09477445678a5e62 /web/cobrands/buckinghamshire/js.js | |
parent | 9f341adabd2a22de7e13c43e860bb3741017bf58 (diff) |
[UK] Pull in cobrand asset files on national site.
Also add body name to layer defaults, so they are only used where appropriate.
Switch mapit area javascript calls to GeoJSON, so we can drop KML support in
OpenLayers.wfs.js which saves a small amount of bandwidth.
Diffstat (limited to 'web/cobrands/buckinghamshire/js.js')
-rw-r--r-- | web/cobrands/buckinghamshire/js.js | 194 |
1 files changed, 0 insertions, 194 deletions
diff --git a/web/cobrands/buckinghamshire/js.js b/web/cobrands/buckinghamshire/js.js index 9094fdb8e..ebbfe36e0 100644 --- a/web/cobrands/buckinghamshire/js.js +++ b/web/cobrands/buckinghamshire/js.js @@ -4,200 +4,6 @@ if (!fixmystreet.maps) { return; } -var defaults = { - http_options: { - url: "https://tilma.mysociety.org/mapserver/bucks", - params: { - SERVICE: "WFS", - VERSION: "1.1.0", - REQUEST: "GetFeature", - SRSNAME: "urn:ogc:def:crs:EPSG::3857" - } - }, - format_class: OpenLayers.Format.GML.v3.MultiCurveFix, - asset_type: 'spot', - max_resolution: 2.388657133579254, - min_resolution: 0.5971642833948135, - asset_id_field: 'central_as', - attributes: { - central_asset_id: 'central_as', - site_code: 'Site_code' - }, - geometryName: 'msGeometry', - srsName: "EPSG:3857", - strategy_class: OpenLayers.Strategy.FixMyStreet -}; - -fixmystreet.assets.add($.extend(true, {}, defaults, { - http_options: { - params: { - TYPENAME: "Grit_Bins" - } - }, - attributes: { - central_asset_id: 'central_as', - site_code: 'site_code' // different capitalisation, sigh - }, - asset_category: ["Salt bin damaged", "Salt bin refill"], - asset_item: 'grit bin' -})); - -fixmystreet.assets.add($.extend(true, {}, defaults, { - http_options: { - params: { - TYPENAME: "StreetLights_Merged" - } - }, - attributes: { - central_asset_id: 'central_as', - site_code: 'Site_code' - }, - asset_category: [ - 'Light on during the day', - 'Street light dim', - 'Street light intermittent', - 'Street light not working' ], - asset_item: 'street light' -})); - - -// The "whole street asset" layer indicates who is responsible for maintaining -// a road via the 'feature_ty' attribute on features. -// These are roads that Bucks maintain. -var bucks_types = [ - "2", // HW: STRATEGIC ROUTE - "3A", // HW: MAIN DISTRIBUTOR - "3B", // HW: SECONDARY DISTRIBUTOR - "4A", // HW: LINK ROAD - "4B", // HW: LOCAL ACCESS ROAD -]; -// And these are roads they don't maintain. -var non_bucks_types = [ - "HE", // HW: HIGHWAYS ENGLAND - "HWOA", // OTHER AUTHORITY - "HWSA", // HW: Whole Street Asset - "P", // HW: PRIVATE -]; - -// We show roads that Bucks are and aren't responsible for, and display a -// message to the user if they click something Bucks don't maintain. -var types_to_show = bucks_types.concat(non_bucks_types); - -// Some road types we don't want to display at all. -var types_to_hide = [ - "11", // HW: BYWAY OPEN TO TRAFFIC - "12", // HW: FOOTPATH PROW - "13", // HW: BYWAY RESTRICTED - "14", // HW: BRIDLEWAY - "9", // HW: NO CARRIAGEWAY -]; - -var highways_style = new OpenLayers.Style({ - fill: false, - strokeColor: "#5555FF", - strokeOpacity: 0.1, - strokeWidth: 7 -}); - -function bucks_owns_feature(f) { - return f && - f.attributes && - f.attributes.feature_ty && - OpenLayers.Util.indexOf(bucks_types, f.attributes.feature_ty) > -1; -} - -function bucks_does_not_own_feature(f) { - return !bucks_owns_feature(f); -} - -var rule_owned = new OpenLayers.Rule({ - filter: new OpenLayers.Filter.FeatureId({ - type: OpenLayers.Filter.Function, - evaluate: bucks_owns_feature - }) -}); - -var rule_not_owned = new OpenLayers.Rule({ - filter: new OpenLayers.Filter.FeatureId({ - type: OpenLayers.Filter.Function, - evaluate: bucks_does_not_own_feature - }), - symbolizer: { - strokeColor: "#555555" - } -}); -highways_style.addRules([rule_owned, rule_not_owned]); - -function show_responsibility_error(id) { - hide_responsibility_errors(); - $("#js-bucks-responsibility").removeClass("hidden"); - $("#js-bucks-responsibility .js-responsibility-message").addClass("hidden"); - $(id).removeClass("hidden"); -} - -function hide_responsibility_errors() { - $("#js-bucks-responsibility").addClass("hidden"); - $("#js-bucks-responsibility .js-responsibility-message").addClass("hidden"); -} - -function disable_report_form() { - $("#problem_form").hide(); -} - -function enable_report_form() { - $("#problem_form").show(); -} - -fixmystreet.assets.add($.extend(true, {}, defaults, { - http_options: { - params: { - TYPENAME: "Whole_Street" - } - }, - stylemap: new OpenLayers.StyleMap({ - 'default': highways_style - }), - always_visible: true, - non_interactive: true, - road: true, - asset_item: 'road', - all_categories: true, - actions: { - found: function(layer, feature) { - if (fixmystreet.assets.selectedFeature()) { - hide_responsibility_errors(); - enable_report_form(); - } else if (OpenLayers.Util.indexOf(bucks_types, feature.attributes.feature_ty) != -1) { - hide_responsibility_errors(); - enable_report_form(); - } else { - // User has clicked a road that Bucks don't maintain. - show_responsibility_error("#js-not-bucks-road"); - disable_report_form(); - } - }, - - not_found: function(layer) { - // If a feature wasn't found at the location they've clicked, it's - // probably a field or something. Show an error to that effect, - // unless an asset is selected. - if (fixmystreet.assets.selectedFeature()) { - hide_responsibility_errors(); - enable_report_form(); - } else { - show_responsibility_error("#js-not-a-road"); - disable_report_form(); - } - } - }, - usrn: { - attribute: 'site_code', - field: 'site_code' - }, - filter_key: 'feature_ty', - filter_value: types_to_show, -})); - fixmystreet.assets.add(fixmystreet.roadworks.layer_future); fixmystreet.assets.add(fixmystreet.roadworks.layer_planned); |