X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/fa98753614cc511d64561d3ac7e460d689dda44b..2ac919d4f15300c5866daddb1dd56ddb7cc93fcc:/app/views/browse/_map.html.erb diff --git a/app/views/browse/_map.html.erb b/app/views/browse/_map.html.erb index 4f61be047..f84a2ec9f 100644 --- a/app/views/browse/_map.html.erb +++ b/app/views/browse/_map.html.erb @@ -6,7 +6,11 @@
<%= t 'browse.map.loading' %> - + + <% unless map.instance_of? Changeset %> +
+ + <% end %> <% else %> <%= t 'browse.map.deleted' %> <% end %> @@ -32,8 +36,8 @@ $("loading").innerHTML = ""; - $("larger_map").href = '/?minlon='+minlon+'&minlat='+minlat+'&maxlon='+maxlon+'&maxlat='+maxlat+'&box=yes'; - $("larger_map").innerHTML = "<%= t 'browse.map.view_larger_map' %>"; + $("area_larger_map").href = '/?minlon='+minlon+'&minlat='+minlat+'&maxlon='+maxlon+'&maxlat='+maxlat+'&box=yes'; + $("area_larger_map").innerHTML = "<%= t 'browse.map.larger.area' %>"; <% else %> var obj_type = "<%= map.class.name.downcase %>"; var obj_id = <%= map.id %>; @@ -43,39 +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) { + extent.transform(map.getProjectionObject(), map.displayProjection); - if (extent) { - this.map.zoomToExtent(extent); - } else { - this.map.zoomToMaxExtent(); - } + $("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' %>"; - var center = getMapCenter(); - $("larger_map").href = '/?lat='+center.lat+'&lon='+center.lon+'&zoom='+this.map.getZoom(); - $("larger_map").innerHTML = "<%= t 'browse.map.view_larger_map' %>"; + <% 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) %>"; + <% end %> } else { $("small_map").style.display = "none"; } }); - - map.addLayer(osm_layer); - - osm_layer.loadGML(); - osm_layer.loaded = true; <% end %> }