1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
(function(){
if (!fixmystreet.maps) {
return;
}
var defaults = {
http_options: {
url: "https://tilma.mysociety.org/mapserver/bromley_wfs",
params: {
SERVICE: "WFS",
VERSION: "1.1.0",
REQUEST: "GetFeature",
SRSNAME: "urn:ogc:def:crs:EPSG::3857"
}
},
asset_type: 'spot',
max_resolution: 4.777314267158508,
min_resolution: 0.5971642833948135,
asset_id_field: 'CENTRAL_AS',
geometryName: 'msGeometry',
srsName: "EPSG:3857",
body: "Bromley Council",
strategy_class: OpenLayers.Strategy.FixMyStreet
};
OpenLayers.Layer.VectorAssetBromley = OpenLayers.Class(OpenLayers.Layer.VectorAsset, {
relevant: function() {
var relevant = OpenLayers.Layer.VectorAsset.prototype.relevant.apply(this, arguments),
subcategories = this.fixmystreet.subcategories,
subcategory = $('#form_service_sub_code').val(),
relevant_sub = OpenLayers.Util.indexOf(subcategories, subcategory) > -1;
return relevant && relevant_sub;
},
CLASS_NAME: 'OpenLayers.Layer.VectorAssetBromley'
});
fixmystreet.assets.add(defaults, {
class: OpenLayers.Layer.VectorAssetBromley,
http_options: {
params: {
TYPENAME: "Streetlights"
}
},
asset_id_field: 'FEATURE_ID',
attributes: {
feature_id: 'FEATURE_ID'
},
asset_category: ["Street Lighting and Road Signs"],
subcategories: [ 'SL_LAMP', 'SL_NOT_WORK', 'SL_ON_DAY', 'SL_BLOCK_VEG' ],
asset_item: 'street light'
});
fixmystreet.assets.add(defaults, {
class: OpenLayers.Layer.VectorAssetBromley,
http_options: {
params: {
TYPENAME: "Bins"
}
},
asset_category: ["Parks and Greenspace", "Street Cleansing"],
subcategories: ['PG_OFLOW_DOG', 'SC_LIT_BIN'],
asset_item: 'park bin',
asset_item_message: 'For our parks, pick a <b class="asset-spot">bin</b> from the map »'
});
fixmystreet.assets.add(defaults, {
http_options: {
params: {
TYPENAME: "Street_Trees"
}
},
asset_category: ["Public Trees"],
asset_item: 'tree'
});
$(function(){
$("#problem_form").on("change.category", "#form_service_sub_code", function() {
$(fixmystreet).trigger('report_new:category_change');
});
});
var prow_stylemap = new OpenLayers.StyleMap({
'default': new OpenLayers.Style({
fill: false,
fillOpacity: 0,
strokeColor: "#660099",
strokeOpacity: 0.5,
strokeWidth: 6
})
});
fixmystreet.assets.add(defaults, {
http_options: {
params: {
TYPENAME: "PROW"
}
},
stylemap: prow_stylemap,
always_visible: true,
non_interactive: true,
road: true,
all_categories: true,
actions: {
found: function(layer, feature) {
$('#form_prow_reference').val(feature.attributes.PROW_REFER);
},
not_found: function(layer) {
$('#form_prow_reference').val('');
}
}
});
})();
|