aboutsummaryrefslogtreecommitdiffstats
path: root/web
diff options
context:
space:
mode:
authorM Somerville <matthew-github@dracos.co.uk>2020-08-03 17:26:10 +0100
committerM Somerville <matthew-github@dracos.co.uk>2020-08-13 19:35:36 +0100
commitc0bead8312c3339ecce0a4886e15a45d5ceeaca8 (patch)
tree120527fd1b6772bcae920cbb6c9a096326ac7db1 /web
parent700217890e8afdc70b5224fc357a22195880cdc2 (diff)
Factor together BNG inspector pin field function.
Update all name= fields, that should be fine.
Diffstat (limited to 'web')
-rw-r--r--web/cobrands/fixmystreet/staff.js13
-rw-r--r--web/js/map-OpenLayers.js29
2 files changed, 20 insertions, 22 deletions
diff --git a/web/cobrands/fixmystreet/staff.js b/web/cobrands/fixmystreet/staff.js
index e62ae6ba7..236bdca70 100644
--- a/web/cobrands/fixmystreet/staff.js
+++ b/web/cobrands/fixmystreet/staff.js
@@ -246,17 +246,8 @@ fixmystreet.staff_set_up = {
// triage pages may not show geolocation button
if (el) {
fixmystreet.geolocate(el, function(pos) {
- var latlon = new OpenLayers.LonLat(pos.coords.longitude, pos.coords.latitude);
- var bng = latlon.clone().transform(
- new OpenLayers.Projection("EPSG:4326"),
- new OpenLayers.Projection("EPSG:27700") // TODO: Handle other projections
- );
- $("#problem_northing").text(bng.lat.toFixed(1));
- $("#problem_easting").text(bng.lon.toFixed(1));
- $("#problem_latitude").text(latlon.lat.toFixed(6));
- $("#problem_longitude").text(latlon.lon.toFixed(6));
- $inspect_form.find("input[name=latitude]").val(latlon.lat);
- $inspect_form.find("input[name=longitude]").val(latlon.lon);
+ var lonlat = new OpenLayers.LonLat(pos.coords.longitude, pos.coords.latitude);
+ fixmystreet.maps.update_pin_input_fields(lonlat);
});
}
}
diff --git a/web/js/map-OpenLayers.js b/web/js/map-OpenLayers.js
index 3db59f218..1a04756c5 100644
--- a/web/js/map-OpenLayers.js
+++ b/web/js/map-OpenLayers.js
@@ -146,6 +146,21 @@ $.extend(fixmystreet.utils, {
};
},
+ update_pin_input_fields: function(lonlat) {
+ var bng = lonlat.clone().transform(
+ new OpenLayers.Projection("EPSG:4326"),
+ new OpenLayers.Projection("EPSG:27700") // TODO: Handle other projections
+ );
+ var lat = lonlat.lat.toFixed(6);
+ var lon = lonlat.lon.toFixed(6);
+ $("#problem_northing").text(bng.lat.toFixed(1));
+ $("#problem_easting").text(bng.lon.toFixed(1));
+ $("#problem_latitude").text(lat);
+ $("#problem_longitude").text(lon);
+ $("input[name=latitude]").val(lat);
+ $("input[name=longitude]").val(lon);
+ },
+
display_around: function() {
// Required after changing the size of the map element
fixmystreet.map.updateSize();
@@ -627,17 +642,9 @@ $.extend(fixmystreet.utils, {
// Not actually on the inspect report page
return;
}
- fixmystreet.maps.admin_drag(function(lonlat) {
- var bng = lonlat.clone().transform(
- new OpenLayers.Projection("EPSG:4326"),
- new OpenLayers.Projection("EPSG:27700") // TODO: Handle other projections
- );
- $("#problem_northing").text(bng.y.toFixed(1));
- $("#problem_easting").text(bng.x.toFixed(1));
- $("#problem_latitude").text(lonlat.y.toFixed(6));
- $("#problem_longitude").text(lonlat.x.toFixed(6));
- $("input[name=latitude]").val(lonlat.y.toFixed(6));
- $("input[name=longitude]").val(lonlat.x.toFixed(6));
+ fixmystreet.maps.admin_drag(function(geom) {
+ var lonlat = new OpenLayers.LonLat(geom.x, geom.y);
+ fixmystreet.maps.update_pin_input_fields(lonlat);
},
false);
}