-<%= javascript_include_tag '/openlayers/OpenLayers.js' %>
-<%= javascript_include_tag '/openlayers/OpenStreetMap.js' %>
+<%= javascript_include_tag 'openlayers.js' %>
<%= javascript_include_tag 'map.js' %>
<div id="changeset_list_map">
</div>
<script type="text/javascript">
- OpenLayers.Lang.setCode("<%= I18n.locale.to_s %>");
-
var highlight;
function highlightChangeset(id) {
var feature = vectors.getFeatureByFid(id);
var bounds = feature.geometry.getBounds();
- if ( highlight ) vectors.removeFeatures(highlight);
+ if (bounds.containsBounds(map.getExtent())) {
+ bounds = map.getExtent().scale(1.1);
+ }
+
+ if (highlight) vectors.removeFeatures(highlight);
highlight = new OpenLayers.Feature.Vector(bounds.toGeometry(), {}, {
strokeWidth: 2,
vectors.addFeatures(highlight);
- $("tr-changeset-" + id).addClassName("selected");
+ $("#tr-changeset-" + id).addClass("selected");
}
function unHighlightChangeset(id) {
vectors.removeFeatures(highlight);
- $("tr-changeset-" + id).removeClassName("selected");
+ $("#tr-changeset-" + id).removeClass("selected");
}
- function init() {
+ $(document).ready(function () {
var map = createMap("changeset_list_map", {
controls: [
new OpenLayers.Control.Navigation(),
- new OpenLayers.Control.PanZoom(),
- new OpenLayers.Control.PanZoomBar()
+ new OpenLayers.Control.Zoom(),
+ new OpenLayers.Control.SimplePanZoom()
]
});
var bounds = new OpenLayers.Bounds();
<% @edits.each do |edit| %>
- var minlon = <%= edit.min_lon / GeoRecord::SCALE.to_f %>;
- var minlat = <%= edit.min_lat / GeoRecord::SCALE.to_f %>;
- var maxlon = <%= edit.max_lon / GeoRecord::SCALE.to_f %>;
- var maxlat = <%= edit.max_lat / GeoRecord::SCALE.to_f %>;
+ <% if edit.has_valid_bbox? %>
+ <% bbox = edit.bbox.to_unscaled %>
+ var minlon = <%= bbox.min_lon %>;
+ var minlat = <%= bbox.min_lat %>;
+ var maxlon = <%= bbox.max_lon %>;
+ var maxlat = <%= bbox.max_lat %>;
var bbox = new OpenLayers.Bounds(minlon, minlat, maxlon, maxlat);
bounds.extend(bbox);
- box = addBoxToMap(bbox, "<%= edit.id %>", true);
+
+ addBoxToMap(bbox, "<%= edit.id %>", true);
+ <% end %>
<% end %>
vectors.events.on({
selectControl.activate();
<% if ! @bbox.nil? %>
- setMapExtent(new OpenLayers.Bounds(<%= @bbox %>));
+ map.zoomToExtent(proj(new OpenLayers.Bounds(<%= @bbox %>)));
<% else %>
- setMapExtent(bounds);
+ map.zoomToExtent(proj(bounds));
<% end %>
- }
-
- Event.observe(window, "load", init);
+ });
</script>