X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/34b147266c397bb1318bbfefb48df1c704855843..e46c82fe3db59ce59206053a26d0207931f2f68a:/app/views/browse/_map.html.erb diff --git a/app/views/browse/_map.html.erb b/app/views/browse/_map.html.erb index ac6f32fc6..f84a2ec9f 100644 --- a/app/views/browse/_map.html.erb +++ b/app/views/browse/_map.html.erb @@ -8,8 +8,8 @@ <%= t 'browse.map.loading' %> <% unless map.instance_of? Changeset %> -
- +
+ <% end %> <% else %> <%= t 'browse.map.deleted' %> @@ -47,43 +47,23 @@ url += "/full"; } - var osm_layer = new OpenLayers.Layer.GML("OSM", url, { - format: OpenLayers.Format.OSM, - projection: new OpenLayers.Projection("EPSG:4326") - }); - - osm_layer.events.register("loadend", osm_layer, function() { + addObjectToMap(url, true, function(extent) { $("loading").innerHTML = ""; - if (this.features.length) { - var extent = this.features[0].geometry.getBounds(); - - for (var i = 1; i < this.features.length; i++) { - extent.extend(this.features[i].geometry.getBounds()); - } - - if (extent) { - this.map.zoomToExtent(extent); - } else { - this.map.zoomToMaxExtent(); - } + if (extent) { + extent.transform(map.getProjectionObject(), map.displayProjection); - var center = getMapCenter(); - $("area_larger_map").href = '/?lat='+center.lat+'&lon='+center.lon+'&zoom='+this.map.getZoom(); + $("area_larger_map").href = '/?minlon='+extent.left+'&minlat='+extent.bottom+'&maxlon='+extent.right+'&maxlat='+extent.top; $("area_larger_map").innerHTML = "<%= t 'browse.map.larger.area' %>"; + <% unless map.instance_of? Changeset %> - $("object_larger_map").href = '/?<%= map.class.to_s.downcase %>=<%= map.id %>'; - $("object_larger_map").innerHTML = "<%= t('browse.map.larger.' + map.class.to_s.downcase) %>"; + $("object_larger_map").href = '/?<%= map.class.to_s.downcase %>=<%= map.id %>'; + $("object_larger_map").innerHTML = "<%= t('browse.map.larger.' + map.class.to_s.downcase) %>"; <% end %> } else { $("small_map").style.display = "none"; } }); - - map.addLayer(osm_layer); - - osm_layer.loadGML(); - osm_layer.loaded = true; <% end %> }