- var latlng = L.latLng(lat, lng),
- radius = 10 * Math.pow(1.5, 19 - map.getZoom()),
- around = "around:" + radius + "," + lat + "," + lng,
- nodes = "node(" + around + ")",
- ways = "way(" + around + ");node(w)",
- relations = "relation(" + around + ")",
- nearby = "(" + nodes + ";" + ways + ";" + relations + ");out;",
- isin = "is_in(" + lat + "," + lng + ")->.a;(relation(pivot.a);way(pivot.a);node(w));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;";