Move "Browse Map Data" to layers control
Fixes https://trac.openstreetmap.org/ticket/4680
This commit is contained in:
parent
fde2744f74
commit
05eba79008
6 changed files with 49 additions and 39 deletions
|
@ -1,3 +1,4 @@
|
||||||
|
//= require_self
|
||||||
//= require index/browse
|
//= require index/browse
|
||||||
//= require index/export
|
//= require index/export
|
||||||
//= require index/key
|
//= require index/key
|
||||||
|
|
|
@ -3,11 +3,45 @@
|
||||||
//= require templates/browse/feature_history
|
//= require templates/browse/feature_history
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$("#show_data").click(function (e) {
|
var areasHidden = false;
|
||||||
$.ajax({ url: $(this).attr('href'), success: function (sidebarHtml) {
|
|
||||||
startBrowse(sidebarHtml);
|
var dataLayer = new L.OSM.DataLayer(null, {
|
||||||
}});
|
styles: {
|
||||||
e.preventDefault();
|
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) {
|
function startBrowse(sidebarHtml) {
|
||||||
|
@ -15,30 +49,6 @@ $(document).ready(function () {
|
||||||
var layersById;
|
var layersById;
|
||||||
var selectedLayer;
|
var selectedLayer;
|
||||||
var browseObjectList;
|
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({
|
var locationFilter = new L.LocationFilter({
|
||||||
enableButton: false,
|
enableButton: false,
|
||||||
|
|
|
@ -95,6 +95,7 @@ function createMap(divName, options) {
|
||||||
|
|
||||||
if (options.layerControl) {
|
if (options.layerControl) {
|
||||||
layersControl.addTo(map);
|
layersControl.addTo(map);
|
||||||
|
map.layersControl = layersControl;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var i = 0; i < layers.length; i++) {
|
for (var i = 0; i < layers.length; i++) {
|
||||||
|
|
|
@ -7,6 +7,7 @@ OSM = {
|
||||||
MAX_REQUEST_AREA: <%= MAX_REQUEST_AREA.to_json %>,
|
MAX_REQUEST_AREA: <%= MAX_REQUEST_AREA.to_json %>,
|
||||||
SERVER_URL: <%= SERVER_URL.to_json %>,
|
SERVER_URL: <%= SERVER_URL.to_json %>,
|
||||||
API_VERSION: <%= API_VERSION.to_json %>,
|
API_VERSION: <%= API_VERSION.to_json %>,
|
||||||
|
STATUS: <%= STATUS.to_json %>,
|
||||||
|
|
||||||
apiUrl: function (object) {
|
apiUrl: function (object) {
|
||||||
var url = "/api/" + OSM.API_VERSION + "/" + object.type + "/" + object.id;
|
var url = "/api/" + OSM.API_VERSION + "/" + object.type + "/" + object.id;
|
||||||
|
|
|
@ -13,12 +13,15 @@ function openSidebar(options) {
|
||||||
$("#sidebar").trigger("opened");
|
$("#sidebar").trigger("opened");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function closeSidebar() {
|
||||||
|
$("#sidebar").css("display", "none");
|
||||||
|
|
||||||
|
$("#sidebar").trigger("closed");
|
||||||
|
}
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$(".sidebar_close").click(function (e) {
|
$(".sidebar_close").click(function (e) {
|
||||||
$("#sidebar").css("display", "none");
|
closeSidebar();
|
||||||
|
|
||||||
$("#sidebar").trigger("closed");
|
|
||||||
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -2,12 +2,6 @@
|
||||||
<%= javascript_include_tag "index" %>
|
<%= javascript_include_tag "index" %>
|
||||||
<% end %>
|
<% 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 %>
|
<% 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>
|
<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 %>
|
<% end %>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue