var querystring = require('querystring-component');
-function zoomPrecision(zoom) {
- return Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2));
-}
-
-function remoteEditHandler(bbox, select) {
+function remoteEditHandler(bbox, object) {
var loaded = false,
query = {
left: bbox.getWest() - 0.0001,
bottom: bbox.getSouth() - 0.0001
};
- if (select) query.select = select;
+ if (object) query.select = object.type + object.id;
var iframe = $('<iframe>')
.hide()
* Called as the user scrolls/zooms around to maniplate hrefs of the
* view tab and various other links
*/
-function updatelinks(loc, zoom, layers, object) {
+function updateLinks(loc, zoom, layers, object) {
$(".geolink").each(function(index, link) {
var href = link.href.split(/[?#]/)[0],
+ args = querystring.parse(link.search.substring(1)),
editlink = $(link).hasClass("editlink");
+ delete args['node'];
+ delete args['way'];
+ delete args['relation'];
+ delete args['changeset'];
+
if (object && editlink) {
- href += '?' + object.type + '=' + object.id;
+ args[object.type] = object.id;
}
- var args = {
+ var query = querystring.stringify(args);
+ if (query) href += '?' + query;
+
+ args = {
lat: loc.lat,
- lon: loc.lon || loc.lng,
+ lon: 'lon' in loc ? loc.lon : loc.lng,
zoom: zoom
};