- var latlng = L.latLng(lat, lng),
- radius = 10 * Math.pow(1.5, 19 - map.getZoom()),
- around = "around:" + radius + "," + lat + "," + lng,
- features = "(node(" + around + ");way(" + around + ");relation(" + around + "))",
- nearby = "((" + features + ";way(bn));node(w));out;",
- isin = "(is_in(" + lat + "," + lng + ");>);out;";
+ var latlng = L.latLng(lat, lng).wrap(),
+ bounds = map.getBounds().wrap(),
+ bbox = bounds.getSouth() + "," + bounds.getWest() + "," + bounds.getNorth() + "," + bounds.getEast(),
+ 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;";