object.version = params.version - 1;
}
- addObjectToMap(object, true, function(extent) {
- $("#loading").hide();
- $("#browse_map .geolink").show();
-
- if (extent) {
- $("a.bbox[data-editor=remote]").click(function () {
- return remoteEditHandler(extent);
- });
-
- $("a.object[data-editor=remote]").click(function () {
- return remoteEditHandler(extent, params.type + params.id);
- });
-
- $("#object_larger_map").show();
- $("#object_edit").show();
-
- var centre = extent.getCenter();
- updatelinks(centre.lng,
- centre.lat,
- 16, null,
- extent.getWest(),
- extent.getSouth(),
- extent.getEast(),
- extent.getNorth(),
- object);
- } else {
- $("#small_map").hide();
+ addObjectToMap(object, {
+ zoom: true,
+ callback: function(extent) {
+ $("#loading").hide();
+ $("#browse_map .geolink").show();
+
+ if (extent) {
+ $("a.bbox[data-editor=remote]").click(function () {
+ return remoteEditHandler(extent);
+ });
+
+ $("a.object[data-editor=remote]").click(function () {
+ return remoteEditHandler(extent, params.type + params.id);
+ });
+
+ $("#object_larger_map").show();
+ $("#object_edit").show();
+
+ var centre = extent.getCenter();
+ updatelinks(centre.lng,
+ centre.lat,
+ 16, null,
+ extent.getWest(),
+ extent.getSouth(),
+ extent.getEast(),
+ extent.getNorth(),
+ object);
+ } else {
+ $("#small_map").hide();
+ }
}
});
}
}
if (params.object) {
- addObjectToMap(params.object, params.object_zoom);
+ addObjectToMap(params.object, { zoom: params.object_zoom });
}
handleResize();
}
if (data.type && data.id) {
- addObjectToMap(data, true);
+ addObjectToMap(data, { zoom: true, style: { opacity: 0.2, fill: false } });
}
if (marker) {
});
}
-function addObjectToMap(object, zoom, callback) {
+function addObjectToMap(object, options) {
if (objectLoader) {
objectLoader.abort();
}
dataType: "xml",
success: function (xml) {
objectLayer = new L.OSM.DataLayer(null, {
- style: {
- strokeColor: "blue",
- strokeWidth: 3,
- strokeOpacity: 0.5,
- fillOpacity: 0.2,
- fillColor: "lightblue",
- pointRadius: 6
+ styles: {
+ node: options.style,
+ way: options.style,
+ area: options.style
}
});
var bounds = objectLayer.getBounds();
- if (zoom) {
+ if (options.zoom) {
map.fitBounds(bounds);
}
- if (callback) {
- callback(bounds);
+ if (options.callback) {
+ options.callback(bounds);
}
objectLayer.addTo(map);