From: Tom Hughes Date: Tue, 28 Jan 2025 18:44:07 +0000 (+0000) Subject: Merge remote-tracking branch 'upstream/pull/5563' X-Git-Tag: live~230 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/09e802b86c2f62ecf7aa5d28d714fda78d7359e5?ds=inline;hp=-c Merge remote-tracking branch 'upstream/pull/5563' --- 09e802b86c2f62ecf7aa5d28d714fda78d7359e5 diff --combined app/assets/javascripts/index/layers/data.js index c10c6ed21,397b38ae2..e1246ca6c --- a/app/assets/javascripts/index/layers/data.js +++ b/app/assets/javascripts/index/layers/data.js @@@ -44,7 -44,7 +44,7 @@@ OSM.initializeDataLayer = function (map } } - function displayFeatureWarning(count, limit, add, cancel) { + function displayFeatureWarning(num_features, add, cancel) { $("#browse_status").html( $("
").append( $("
").append( @@@ -55,7 -55,7 +55,7 @@@ .attr("aria-label", I18n.t("javascripts.close")) .click(cancel))), $("

") - .text(I18n.t("browse.start_rjs.feature_warning", { num_features: count, max_features: limit })), + .text(I18n.t("browse.start_rjs.feature_warning", { num_features })), $("") .val(I18n.t("browse.start_rjs.load_data")) .click(add))); @@@ -85,18 -85,28 +85,19 @@@ /* * Modern browsers are quite happy showing far more than 100 features in - * the data browser, so increase the limit to 4000 by default, but keep - * it restricted to 500 for IE8 and 100 for older IEs. + * the data browser, so increase the limit to 4000 by default. */ - var maxFeatures = 4000; - - /*@cc_on - if (navigator.appVersion < 8) { - maxFeatures = 100; - } else if (navigator.appVersion < 9) { - maxFeatures = 500; - } - @*/ + const maxFeatures = 4000; if (dataLoader) dataLoader.abort(); dataLoader = $.ajax({ url: url, - success: function (xml) { + dataType: "json", + success: function (data) { dataLayer.clearLayers(); - var features = dataLayer.buildFeatures(xml); + var features = dataLayer.buildFeatures(data); function addFeatures() { $("#browse_status").empty(); @@@ -111,7 -121,7 +112,7 @@@ if (features.length < maxFeatures) { addFeatures(); } else { - displayFeatureWarning(features.length, maxFeatures, addFeatures, cancelAddFeatures); + displayFeatureWarning(features.length, addFeatures, cancelAddFeatures); } if (map._objectLayer) { diff --combined app/assets/javascripts/leaflet.map.js index 0f4272a65,92c441b82..bdc8532d1 --- a/app/assets/javascripts/leaflet.map.js +++ b/app/assets/javascripts/leaflet.map.js @@@ -115,7 -115,8 +115,7 @@@ L.OSM.Map = L.Map.extend( }, updateLayers: function (layerParam) { - var layers = layerParam || "M", - layersAdded = ""; + var layers = layerParam || "M"; for (let i = this.baseLayers.length - 1; i >= 0; i--) { if (layers.indexOf(this.baseLayers[i].options.code) === -1) { @@@ -124,9 -125,11 +124,9 @@@ } for (let i = this.baseLayers.length - 1; i >= 0; i--) { - if (layers.indexOf(this.baseLayers[i].options.code) >= 0) { - this.addLayer(this.baseLayers[i]); - layersAdded = layersAdded + this.baseLayers[i].options.code; - } else if (i === 0 && layersAdded === "") { + if (layers.indexOf(this.baseLayers[i].options.code) >= 0 || i === 0) { this.addLayer(this.baseLayers[i]); + return; } } }, @@@ -312,8 -315,8 +312,8 @@@ var map = this; this._objectLoader = $.ajax({ url: OSM.apiUrl(object), - dataType: "xml", - success: function (xml) { + dataType: "json", + success: function (data) { map._object = object; map._objectLayer = new L.OSM.DataLayer(null, { @@@ -335,7 -338,7 +335,7 @@@ } }; - map._objectLayer.addData(xml); + map._objectLayer.addData(data); map._objectLayer.addTo(map); if (callback) callback(map._objectLayer.getBounds());