diff options
-rw-r--r-- | web/cobrands/bexley/js.js | 39 | ||||
-rw-r--r-- | web/cobrands/fixmystreet/assets.js | 13 |
2 files changed, 47 insertions, 5 deletions
diff --git a/web/cobrands/bexley/js.js b/web/cobrands/bexley/js.js index d0f2e8963..e0d87d66d 100644 --- a/web/cobrands/bexley/js.js +++ b/web/cobrands/bexley/js.js @@ -62,20 +62,23 @@ var labeled_defaults = $.extend(true, {}, defaults, { } }); -fixmystreet.assets.add(defaults, { +var road_defaults = $.extend(true, {}, defaults, { + stylemap: fixmystreet.assets.stylemap_invisible, + always_visible: true, + non_interactive: true +}); + +fixmystreet.assets.add(road_defaults, { http_options: { params: { TYPENAME: "Streets", } }, - always_visible: true, - non_interactive: true, nearest_radius: 100, usrn: { attribute: 'NSG_REF', field: 'NSGRef' - }, - stylemap: fixmystreet.assets.stylemap_invisible + } }); fixmystreet.assets.add(labeled_defaults, { @@ -111,5 +114,31 @@ fixmystreet.assets.add(defaults, { asset_item: 'public toilet' }); +fixmystreet.assets.add(road_defaults, { + http_options: { + url: "https://tilma.mysociety.org/mapserver/tfl", + params: { + TYPENAME: "RedRoutes" + } + }, + road: true, + all_categories: true, + actions: { + found: function(layer, feature) { + var category = $('select#form_category').val(), + relevant = (category !== 'Street cleaning'); + if (!fixmystreet.assets.selectedFeature() && relevant) { + fixmystreet.body_overrides.only_send('TfL'); + $('#category_meta').empty(); + } else { + fixmystreet.body_overrides.remove_only_send(); + } + }, + not_found: function(layer) { + fixmystreet.body_overrides.remove_only_send(); + } + } +}); + })(); diff --git a/web/cobrands/fixmystreet/assets.js b/web/cobrands/fixmystreet/assets.js index 1de595c53..c30fa2b5e 100644 --- a/web/cobrands/fixmystreet/assets.js +++ b/web/cobrands/fixmystreet/assets.js @@ -867,6 +867,19 @@ $(function() { fixmystreet.assets.init(); }); +OpenLayers.Geometry.MultiPolygon.prototype.containsPoint = function(point) { + var numPolygons = this.components.length; + var contained = false; + for(var i=0; i<numPolygons; ++i) { + polygon = this.components[i].containsPoint(point); + if (polygon) { + contained = polygon; + break; + } + } + return contained; +}; + OpenLayers.Layer.Vector.prototype.getFeatureAtPoint = function(point) { for (var i = 0; i < this.features.length; i++) { var feature = this.features[i]; |