Add coordinate precision function

This commit is contained in:
Marwin Hochfelsner 2025-01-30 06:21:07 +01:00
parent 09e802b86c
commit 4b6b49801c
9 changed files with 59 additions and 103 deletions

View file

@ -272,18 +272,18 @@ OSM.Query = function (map) {
function queryOverpass(lat, lng) {
var latlng = L.latLng(lat, lng).wrap(),
bounds = map.getBounds().wrap(),
precision = OSM.zoomPrecision(map.getZoom()),
bbox = bounds.getSouth().toFixed(precision) + "," +
bounds.getWest().toFixed(precision) + "," +
bounds.getNorth().toFixed(precision) + "," +
bounds.getEast().toFixed(precision),
radius = 10 * Math.pow(1.5, 19 - map.getZoom()),
around = "around:" + radius + "," + lat + "," + lng,
nodes = "node(" + around + ")",
ways = "way(" + around + ")",
relations = "relation(" + around + ")",
nearby = "(" + nodes + ";" + ways + ";);out tags geom(" + bbox + ");" + relations + ";out geom(" + bbox + ");",
isin = "is_in(" + lat + "," + lng + ")->.a;way(pivot.a);out tags bb;out ids geom(" + bbox + ");relation(pivot.a);out tags bb;";
zoom = map.getZoom(),
bbox = [bounds.getSouthWest(), bounds.getNorthEast()]
.map(c => OSM.cropLocation(c, zoom))
.join(),
geombbox = "geom(" + bbox + ");",
radius = 10 * Math.pow(1.5, 19 - zoom),
around = "(around:" + radius + "," + lat + "," + lng + ")",
nodes = "node" + around,
ways = "way" + around,
relations = "relation" + around,
nearby = "(" + nodes + ";" + ways + ";);out tags " + geombbox + relations + ";out " + geombbox,
isin = "is_in(" + lat + "," + lng + ")->.a;way(pivot.a);out tags bb;out ids " + geombbox + "relation(pivot.a);out tags bb;";
$("#sidebar_content .query-intro")
.hide();
@ -299,12 +299,9 @@ OSM.Query = function (map) {
}
function clickHandler(e) {
var precision = OSM.zoomPrecision(map.getZoom()),
latlng = e.latlng.wrap(),
lat = latlng.lat.toFixed(precision),
lng = latlng.lng.toFixed(precision);
const [lat, lon] = OSM.cropLocation(e.latlng, map.getZoom());
OSM.router.route("/query?lat=" + lat + "&lon=" + lng);
OSM.router.route("/query?" + Qs.stringify({ lat, lon }));
}
function enableQueryMode() {