aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStruan Donald <struan@exo.org.uk>2020-07-16 16:46:35 +0100
committerStruan Donald <struan@exo.org.uk>2020-09-18 15:16:40 +0100
commit20f7e0da39cb057efea6c3774c0f7d5436ff709c (patch)
treed9fd7119099a96da10890f29c11c892aff215f95
parentc8e76112038ded4f03cc9a8caea4dbb8a91982a6 (diff)
[AlloyV2] update asset fetching code
change resolution and zoom level for asset layers
-rw-r--r--.cypress/cypress/fixtures/bus_stops_none.json3
-rw-r--r--.cypress/cypress/integration/northamptonshire.js8
-rw-r--r--web/cobrands/fixmystreet-uk-councils/alloy.js11
3 files changed, 10 insertions, 12 deletions
diff --git a/.cypress/cypress/fixtures/bus_stops_none.json b/.cypress/cypress/fixtures/bus_stops_none.json
index 3102a72dd..749921de7 100644
--- a/.cypress/cypress/fixtures/bus_stops_none.json
+++ b/.cypress/cypress/fixtures/bus_stops_none.json
@@ -1,6 +1,5 @@
{
- "type": "FeatureCollection",
- "features": [
+ "results": [
],
"crs": {
"properties": {
diff --git a/.cypress/cypress/integration/northamptonshire.js b/.cypress/cypress/integration/northamptonshire.js
index 8cd11d40e..453557b99 100644
--- a/.cypress/cypress/integration/northamptonshire.js
+++ b/.cypress/cypress/integration/northamptonshire.js
@@ -9,7 +9,7 @@ it('prevents clicking unless asset selected', function() {
cy.fixture('bus_stops.json');
cy.fixture('bus_stops_none.json');
cy.route('**/northants.assets/**', 'fixture:bus_stops_none.json').as('empty-bus_stops-layer');
- cy.route('**/65206/43150/**', 'fixture:bus_stops.json').as('bus_stops-layer');
+ cy.route('**/32602/21575/**', 'fixture:bus_stops.json').as('bus_stops-layer');
cy.route('/report/new/ajax*').as('report-ajax');
cy.visit('http://northamptonshire.localhost:3001/');
cy.get('[name=pc]').type('NN1 1NS');
@@ -32,7 +32,7 @@ it('selecting an asset allows a report', function() {
cy.fixture('bus_stops.json');
cy.fixture('bus_stops_none.json');
cy.route('**/northants.assets/**', 'fixture:bus_stops_none.json').as('empty-bus_stops-layer');
- cy.route('**/65206/43150/**', 'fixture:bus_stops.json').as('bus_stops-layer');
+ cy.route('**/32602/21575/**', 'fixture:bus_stops.json').as('bus_stops-layer');
cy.route('/report/new/ajax*').as('report-ajax');
cy.visit('http://northamptonshire.localhost:3001/');
cy.get('[name=pc]').type('NN1 2NS');
@@ -55,8 +55,8 @@ it('detects multiple assets at same location', function() {
cy.fixture('bus_stops.json');
cy.fixture('bus_stops_none.json');
cy.route('**/northants.assets/**', 'fixture:bus_stops_none.json').as('empty-bus_stops-layer');
- cy.route('**/65206/43150/**', 'fixture:bus_stops.json').as('bus_stops-layer');
- cy.route('**/65206/43151/**', 'fixture:bus_stops.json').as('bus_stops-layer2');
+ cy.route('**/32602/21575/**', 'fixture:bus_stops.json').as('bus_stops-layer');
+ cy.route('**/32602/21576/**', 'fixture:bus_stops.json').as('bus_stops-layer2');
cy.route('/report/new/ajax*').as('report-ajax');
cy.visit('http://northamptonshire.localhost:3001/');
cy.get('[name=pc]').type('NN1 2NS');
diff --git a/web/cobrands/fixmystreet-uk-councils/alloy.js b/web/cobrands/fixmystreet-uk-councils/alloy.js
index 88d0b017f..a06c197fe 100644
--- a/web/cobrands/fixmystreet-uk-councils/alloy.js
+++ b/web/cobrands/fixmystreet-uk-councils/alloy.js
@@ -4,6 +4,7 @@ OpenLayers.Protocol.Alloy = OpenLayers.Class(OpenLayers.Protocol.HTTP, {
currentRequests: [],
tileSize: 512,
+ resolution: 2.388657133579254,
abort: function() {
if (this.currentRequests.length) {
for (var j = 0; j < this.currentRequests.length; j++) {
@@ -56,14 +57,11 @@ OpenLayers.Protocol.Alloy = OpenLayers.Class(OpenLayers.Protocol.HTTP, {
getTileCoord: function(bounds, maxExtent, map, reverse) {
var origin = new OpenLayers.LonLat(maxExtent.left, maxExtent.top);
- // hard code this number as we want to avoid fetching asset groups
- // which happens at more zoomed out levels
- var resolution = 2.388657133579254;
var adjustX = reverse ? 0.5 : 0;
var adjustY = reverse ? 0 : 0.5;
- var xFromOrigin = Math.floor((bounds[0] - origin.lon) / resolution + adjustX);
- var yFromOrigin = Math.floor((bounds[1] - origin.lat) / resolution + adjustY);
+ var xFromOrigin = Math.floor((bounds[0] - origin.lon) / this.resolution + adjustX);
+ var yFromOrigin = Math.floor((bounds[1] - origin.lat) / this.resolution + adjustY);
var tileCoordX = Math.floor(xFromOrigin / this.tileSize);
var tileCoordY = Math.floor(yFromOrigin / this.tileSize) * -1;
@@ -169,8 +167,9 @@ OpenLayers.Format.AlloyV2 = OpenLayers.Class(OpenLayers.Format.GeoJSON, {
OpenLayers.Protocol.AlloyV2 = OpenLayers.Class(OpenLayers.Protocol.Alloy, {
tileSize: 128,
+ resolution: 4.777314267158508,
getURL: function(coords, options) {
- return OpenLayers.String.format(options.base, {'layerid': options.layerid, 'styleid': options.styleid, 'z': 17, 'x': coords[0], 'y': coords[1]});
+ return OpenLayers.String.format(options.base, {'layerid': options.layerid, 'styleid': options.styleid, 'z': 16, 'x': coords[0], 'y': coords[1]});
}
});