diff options
author | Dave Arter <davea@mysociety.org> | 2017-08-14 12:32:34 +0100 |
---|---|---|
committer | Dave Arter <davea@mysociety.org> | 2017-08-14 12:32:34 +0100 |
commit | 931e388fd8ed8d968e62155457c098c4a4dfe933 (patch) | |
tree | 35ec748b62b3d1fd291a0a145896b97382120b26 /web/js/map-OpenLayers.js | |
parent | 8e320beadae7cbc65967fc851f2448bbb1c7b2e0 (diff) |
[Zurich] Fix map on /reports
A seemingly unrelated change in ef6ffbdb was causing JS errors
on the /reports page which meant the map loading spinner
was permanently present. This commit fixes that, and also fixes
another bug which was uncovered where the ?ajax=1 param was
being ignored by the Zürich /reports page, leading to HTML
being returned and another JS error.
The call to `new OpenLayers.Bounds` in
OpenLayers.Strategy.FixMyStreet.getMapBounds was causing
three of the 4 bounds params to be lost when run on OpenLayers
2.11, as this version doesn’t accept an array to the Bounds
constructor. This in turn was using an invalid `bbox` parameter
(only the west value was present) in the AJAX call to /reports
which returned a 500 error. This then crashed the JS and caused
the loading spinner to get stuck.
Diffstat (limited to 'web/js/map-OpenLayers.js')
-rw-r--r-- | web/js/map-OpenLayers.js | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/web/js/map-OpenLayers.js b/web/js/map-OpenLayers.js index 97507ea4a..e7702e764 100644 --- a/web/js/map-OpenLayers.js +++ b/web/js/map-OpenLayers.js @@ -772,7 +772,10 @@ OpenLayers.Strategy.FixMyStreet = OpenLayers.Class(OpenLayers.Strategy.BBOX, { getMapBounds: function() { var bounds = OpenLayers.Strategy.BBOX.prototype.getMapBounds.apply(this); if (bounds) { - bounds = new OpenLayers.Bounds(bounds.toArray()); + // OpenLayers 2.11 (as used by Zürich) doesn't allow Bounds to be + // created by passing an array to the constructor, so we have to use + // this convenience method instead. + bounds = OpenLayers.Bounds.fromArray(bounds.toArray()); } return bounds; }, |