diff options
-rw-r--r-- | CHANGELOG.md | 2 | ||||
-rw-r--r-- | web/cobrands/fixmystreet/assets.js | 29 |
2 files changed, 19 insertions, 12 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index e05f8c4fe..b917b14fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ * Unreleased - Front end improvements: - Improve questionnaire process. #1939 #1998 + - Bugfixes: + - Stop asset layers obscuring marker layer. #1999 - Admin improvements: - Inspectors can set non_public status of reports. #1992 diff --git a/web/cobrands/fixmystreet/assets.js b/web/cobrands/fixmystreet/assets.js index a6ecbadb2..d5dd3bc32 100644 --- a/web/cobrands/fixmystreet/assets.js +++ b/web/cobrands/fixmystreet/assets.js @@ -370,9 +370,6 @@ fixmystreet.assets = { if (options.always_visible) { asset_layer.setVisibility(true); } - if (asset_fault_layer) { - fixmystreet.assets.layers.push(asset_fault_layer); - } if (hover_feature_control) { fixmystreet.assets.controls.push(hover_feature_control); } @@ -380,25 +377,20 @@ fixmystreet.assets = { fixmystreet.assets.controls.push(select_feature_control); } - // Make sure the fault markers always appear beneath the linked assets - if (asset_fault_layer) { - asset_fault_layer.setZIndex(asset_layer.getZIndex()-1); - } - if (!asset_layer.fixmystreet.always_visible) { // Show/hide the asset layer when the category is chosen $("#problem_form").on("change.category", "select#form_category", function(){ var category = $(this).val(); if (category == options.asset_category) { asset_layer.setVisibility(true); - if (asset_fault_layer) { - asset_fault_layer.setVisibility(true); + if (asset_layer.fixmystreet.fault_layer) { + asset_layer.fixmystreet.fault_layer.setVisibility(true); } zoom_to_assets(asset_layer); } else { asset_layer.setVisibility(false); - if (asset_fault_layer) { - asset_fault_layer.setVisibility(false); + if (asset_layer.fixmystreet.fault_layer) { + asset_layer.fixmystreet.fault_layer.setVisibility(false); } } }); @@ -426,12 +418,25 @@ fixmystreet.assets = { return hide_assets; })(fixmystreet.maps.display_around); + var pins_layer = fixmystreet.map.getLayersByName("Pins")[0]; for (var i = 0; i < fixmystreet.assets.layers.length; i++) { var layer = fixmystreet.assets.layers[i]; fixmystreet.map.addLayer(layer); if (layer.fixmystreet.asset_category) { fixmystreet.map.events.register( 'zoomend', layer, check_zoom_message_visibility); } + + // Don't cover the existing pins layer + if (pins_layer) { + layer.setZIndex(pins_layer.getZIndex()-1); + } + + // Make sure the fault markers always appear beneath the linked assets + if (layer.fixmystreet.fault_layer) { + fixmystreet.map.addLayer(layer.fixmystreet.fault_layer); + layer.fixmystreet.fault_layer.setZIndex(layer.getZIndex()-1); + } + } for (i = 0; i < fixmystreet.assets.controls.length; i++) { |