Move "Browse Map Data" to layers control

Fixes https://trac.openstreetmap.org/ticket/4680
This commit is contained in:
John Firebaugh 2012-11-29 07:30:38 -08:00 committed by Tom Hughes
parent fde2744f74
commit 05eba79008
6 changed files with 49 additions and 39 deletions

View file

@ -1,3 +1,4 @@
//= require_self
//= require index/browse
//= require index/export
//= require index/key

View file

@ -3,11 +3,45 @@
//= require templates/browse/feature_history
$(document).ready(function () {
$("#show_data").click(function (e) {
$.ajax({ url: $(this).attr('href'), success: function (sidebarHtml) {
startBrowse(sidebarHtml);
}});
e.preventDefault();
var areasHidden = false;
var dataLayer = new L.OSM.DataLayer(null, {
styles: {
way: {
weight: 3,
color: "#000000",
opacity: 0.4
},
area: {
weight: 3,
color: "#ff0000"
},
node: {
color: "#00ff00"
}
}
});
dataLayer.isWayArea = function () {
return !areasHidden && L.OSM.DataLayer.prototype.isWayArea.apply(this, arguments);
};
if (OSM.STATUS != 'api_offline' && OSM.STATUS != 'database_offline') {
map.layersControl.addOverlay(dataLayer, I18n.t("browse.start_rjs.data_layer_name"));
}
map.on('layeradd', function (e) {
if (e.layer === dataLayer) {
$.ajax({ url: "/browse/start", success: function (sidebarHtml) {
startBrowse(sidebarHtml);
}});
}
});
map.on('layerremove', function (e) {
if (e.layer === dataLayer) {
closeSidebar();
}
});
function startBrowse(sidebarHtml) {
@ -15,30 +49,6 @@ $(document).ready(function () {
var layersById;
var selectedLayer;
var browseObjectList;
var areasHidden = false;
var dataLayer = new L.OSM.DataLayer(null, {
styles: {
way: {
weight: 3,
color: "#000000",
opacity: 0.4
},
area: {
weight: 3,
color: "#ff0000"
},
node: {
color: "#00ff00"
}
}
});
dataLayer.addTo(map);
dataLayer.isWayArea = function () {
return !areasHidden && L.OSM.DataLayer.prototype.isWayArea.apply(this, arguments);
};
var locationFilter = new L.LocationFilter({
enableButton: false,

View file

@ -95,6 +95,7 @@ function createMap(divName, options) {
if (options.layerControl) {
layersControl.addTo(map);
map.layersControl = layersControl;
}
for (var i = 0; i < layers.length; i++) {

View file

@ -7,6 +7,7 @@ OSM = {
MAX_REQUEST_AREA: <%= MAX_REQUEST_AREA.to_json %>,
SERVER_URL: <%= SERVER_URL.to_json %>,
API_VERSION: <%= API_VERSION.to_json %>,
STATUS: <%= STATUS.to_json %>,
apiUrl: function (object) {
var url = "/api/" + OSM.API_VERSION + "/" + object.type + "/" + object.id;

View file

@ -13,12 +13,15 @@ function openSidebar(options) {
$("#sidebar").trigger("opened");
};
function closeSidebar() {
$("#sidebar").css("display", "none");
$("#sidebar").trigger("closed");
}
$(document).ready(function () {
$(".sidebar_close").click(function (e) {
$("#sidebar").css("display", "none");
$("#sidebar").trigger("closed");
closeSidebar();
e.preventDefault();
});
});

View file

@ -2,12 +2,6 @@
<%= javascript_include_tag "index" %>
<% end %>
<% unless STATUS == :api_offline or STATUS == :database_offline -%>
<% content_for :editmenu do -%>
<li><%= link_to t("browse.start_rjs.data_layer_name"), { :controller => :browse, :action => :start }, :id => "show_data" %></li>
<% end -%>
<% end -%>
<% content_for :left_menu do %>
<li><h4><%= link_to t("site.key.map_key"), {:action => :key}, :id => "open_map_key", :title => t("site.key.map_key_tooltip") %></h4></li>
<% end %>