- var drawHandler = new L.Rectangle.Draw(map, {title: I18n.t('export.start_rjs.drag_a_box')});
- map.on('draw:rectangle-created', endDrag);
+ var locationFilter = new L.LocationFilter({
+ enableButton: false,
+ adjustButton: false
+ }).addTo(map);
+
+ locationFilter.on("change", filterChanged);
map.on("moveend", mapMoved);
map.on("baselayerchange", htmlUrlChanged);
map.on("moveend", mapMoved);
map.on("baselayerchange", htmlUrlChanged);
$("#maxlat,#minlon,#maxlon,#minlat").change(boundsChanged);
$("#maxlat,#minlon,#maxlon,#minlat").change(boundsChanged);
$("#sidebar").one("closed", function () {
$("body").removeClass("site-export").addClass("site-index");
$("#sidebar").one("closed", function () {
$("body").removeClass("site-export").addClass("site-index");
clearMarker();
map.off("moveend", mapMoved);
map.off("baselayerchange", htmlUrlChanged);
clearMarker();
map.off("moveend", mapMoved);
map.off("baselayerchange", htmlUrlChanged);
var bounds = map.getBounds(),
centerLat = bounds.getCenter().lat,
halfWorldMeters = 6378137 * Math.PI * Math.cos(centerLat * Math.PI / 180),
var bounds = map.getBounds(),
centerLat = bounds.getCenter().lat,
halfWorldMeters = 6378137 * Math.PI * Math.cos(centerLat * Math.PI / 180),
pixelsPerMeter = map.getSize().x / meters,
metersPerPixel = 1 / (92 * 39.3701);
return Math.round(1 / (pixelsPerMeter * metersPerPixel));
pixelsPerMeter = map.getSize().x / meters,
metersPerPixel = 1 / (92 * 39.3701);
return Math.round(1 / (pixelsPerMeter * metersPerPixel));
- function startDrag() {
- $("#drag_box").html(I18n.t('export.start_rjs.drag_a_box'));
-
- clearBox();
- drawHandler.enable();
- }
-
- function endDrag(e) {
- var bounds = e.rect.getBounds();
-
- map.off("moveend", mapMoved);
- setBounds(bounds);
- drawBox(bounds);
- validateControls();
+ function enableFilter() {
+ if (!locationFilter.getBounds().isValid()) {
+ locationFilter.setBounds(map.getBounds().pad(-0.2));
+ }
- $("#minlon").val(toPrecision(bounds.getWestLng()));
- $("#minlat").val(toPrecision(bounds.getSouthLat()));
- $("#maxlon").val(toPrecision(bounds.getEastLng()));
- $("#maxlat").val(toPrecision(bounds.getNorthLat()));
+ $("#minlon").val(toPrecision(bounds.getWest()));
+ $("#minlat").val(toPrecision(bounds.getSouth()));
+ $("#maxlon").val(toPrecision(bounds.getEast()));
+ $("#maxlat").val(toPrecision(bounds.getNorth()));
- return {w: Math.round(bounds.getWidth() / scale / 0.00028),
- h: Math.round(bounds.getHeight() / scale / 0.00028)};
+ return {w: Math.round(size.x / scale / 0.00028),
+ h: Math.round(size.y / scale / 0.00028)};