diff options
author | Matthew Somerville <matthew-github@dracos.co.uk> | 2018-08-07 16:59:16 +0100 |
---|---|---|
committer | Matthew Somerville <matthew-github@dracos.co.uk> | 2018-08-07 16:59:16 +0100 |
commit | 6d5f59c50e77e5825a6a7893039405df5c30d7e5 (patch) | |
tree | 172b9a561a772f7b63b87379e70e19e974972c19 /web/js | |
parent | f49a9529dce092e702213778eaa56faa0afefd5f (diff) | |
parent | 4e8e8d3b4912ec6552ae5290dbf47cf1d5968107 (diff) |
Merge remote-tracking branch 'origin/2012-new-report-near-here'
Diffstat (limited to 'web/js')
-rw-r--r-- | web/js/map-OpenLayers.js | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/web/js/map-OpenLayers.js b/web/js/map-OpenLayers.js index d95103f82..7253d46c8 100644 --- a/web/js/map-OpenLayers.js +++ b/web/js/map-OpenLayers.js @@ -795,6 +795,16 @@ $.extend(fixmystreet.utils, { fixmystreet.map.setCenter(centre, fixmystreet.zoom || 3); } + // map.getCenter() returns a position in "map units", but sometimes you + // want the center in GPS-style latitude/longitude coordinates (WGS84) + // for example, to pass as GET params to fixmystreet.com/report/new. + fixmystreet.map.getCenterWGS84 = function() { + return fixmystreet.map.getCenter().transform( + fixmystreet.map.getProjectionObject(), + new OpenLayers.Projection("EPSG:4326") + ); + }; + if (document.getElementById('mapForm')) { var click = fixmystreet.maps.click_control = new OpenLayers.Control.Click(); fixmystreet.map.addControl(click); @@ -808,6 +818,12 @@ $.extend(fixmystreet.utils, { onload(); } + // Allow external scripts to react to pans/zooms on the map, + // by subscribing to $(fixmystreet).on('maps:update_view') + fixmystreet.map.events.register('moveend', null, function(){ + $(fixmystreet).trigger('maps:update_view'); + }); + (function() { var timeout; $('#js-reports-list').on('mouseenter', '.item-list--reports__item', function(){ |