| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 259a048 commit 952a0ce
4 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -314,6 +314,7 @@ export function createWebMapV2Extending(SuperClass, { MapManager, mapRepo }) { | |||
| 314 | 314 | ||
| 315 | 315 | _createMVTBaseLayer(layerInfo, addedCallback) { | |
| 316 | 316 | let url = layerInfo.dataSource.url; | |
| 317 | + const visible = layerInfo.visible; | ||
| 317 | 318 | if (url.indexOf('/restjsr/') > -1 && !/\/style\.json$/.test(url)) { | |
| 318 | 319 | url += '/style.json'; | |
| 319 | 320 | } | |
@@ -326,6 +327,9 @@ export function createWebMapV2Extending(SuperClass, { MapManager, mapRepo }) { | |||
| 326 | 327 | addedCallback && addedCallback(); | |
| 327 | 328 | return; | |
| 328 | 329 | } | |
| 330 | + style.layers.forEach(layer => { | ||
| 331 | + layer.layout && (layer.layout.visibility = visible ? 'visible' : 'none'); | ||
| 332 | + }) | ||
| 329 | 333 | this.map.addStyle(style); | |
| 330 | 334 | const layerIds = []; | |
| 331 | 335 | style.layers.forEach((item) => { | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -21,9 +21,13 @@ class SourceModel { | |||
| 21 | 21 | this.renderSource = {}; | |
| 22 | 22 | this.dataSource = {}; | |
| 23 | 23 | this.themeSetting = {}; | |
| 24 | - this.visible = true; | ||
| 25 | 24 | this.title = this.id; | |
| 26 | 25 | } | |
| 26 | + if (layer.visible || this.visible) { | ||
| 27 | + this.visible = true; | ||
| 28 | + } else { | ||
| 29 | + this.visible = false; | ||
| 30 | + } | ||
| 27 | 31 | this.children.push(layer); | |
| 28 | 32 | return; | |
| 29 | 33 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -2783,4 +2783,32 @@ describe('mapboxgl_WebMapV2', () => { | |||
| 2783 | 2783 | done(); | |
| 2784 | 2784 | }); | |
| 2785 | 2785 | }); | |
| 2786 | + | ||
| 2787 | + it('MAPBOXSTYLE visible false', (done) => { | ||
| 2788 | + const mvtLayerClone = JSON.parse(JSON.stringify(mvtLayer)); | ||
| 2789 | + mvtLayerClone.layers[0].visible = false; | ||
| 2790 | + spyOn(FetchRequest, 'get').and.callFake((url) => { | ||
| 2791 | + if (url.indexOf('portal.json') > -1) { | ||
| 2792 | + return Promise.resolve(new Response(JSON.stringify(iportal_serviceProxy))); | ||
| 2793 | + } | ||
| 2794 | + if (url.indexOf('1788054202/map.json') > -1) { | ||
| 2795 | + return Promise.resolve(new Response(JSON.stringify(mvtLayerClone))); | ||
| 2796 | + } | ||
| 2797 | + if (url.indexOf('web/datas/676516522/content.json') > -1) { | ||
| 2798 | + return Promise.resolve(new Response(layerData_CSV)); | ||
| 2799 | + } | ||
| 2800 | + if (url.indexOf('ChinaqxAlberts_4548%40fl-new/style.json') > -1) { | ||
| 2801 | + return Promise.resolve(new Response(styleJson)); | ||
| 2802 | + } | ||
| 2803 | + }); | ||
| 2804 | + datavizWebmap = new WebMap(id, { ...commonOption }); | ||
| 2805 | + const callback = function () { | ||
| 2806 | + const appreciableLayers = datavizWebmap.getLayers(); | ||
| 2807 | + expect(appreciableLayers[1].id).toBe('ChinaqxAlberts_4548@fl-new'); | ||
| 2808 | + expect(appreciableLayers[1].visible).toBe(false); | ||
| 2809 | + expect(appreciableLayers[2].id).toBe('民航数据'); | ||
| 2810 | + done(); | ||
| 2811 | + }; | ||
| 2812 | + datavizWebmap.on('mapcreatesucceeded', callback); | ||
| 2813 | + }); | ||
| 2786 | 2814 | }); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -2783,4 +2783,32 @@ describe('maplibregl_WebMapV2', () => { | |||
| 2783 | 2783 | done(); | |
| 2784 | 2784 | }); | |
| 2785 | 2785 | }); | |
| 2786 | + | ||
| 2787 | + it('MAPBOXSTYLE visible false', (done) => { | ||
| 2788 | + const mvtLayerClone = JSON.parse(JSON.stringify(mvtLayer)); | ||
| 2789 | + mvtLayerClone.layers[0].visible = false; | ||
| 2790 | + spyOn(FetchRequest, 'get').and.callFake((url) => { | ||
| 2791 | + if (url.indexOf('portal.json') > -1) { | ||
| 2792 | + return Promise.resolve(new Response(JSON.stringify(iportal_serviceProxy))); | ||
| 2793 | + } | ||
| 2794 | + if (url.indexOf('1788054202/map.json') > -1) { | ||
| 2795 | + return Promise.resolve(new Response(JSON.stringify(mvtLayerClone))); | ||
| 2796 | + } | ||
| 2797 | + if (url.indexOf('web/datas/676516522/content.json') > -1) { | ||
| 2798 | + return Promise.resolve(new Response(layerData_CSV)); | ||
| 2799 | + } | ||
| 2800 | + if (url.indexOf('ChinaqxAlberts_4548%40fl-new/style.json') > -1) { | ||
| 2801 | + return Promise.resolve(new Response(styleJson)); | ||
| 2802 | + } | ||
| 2803 | + }); | ||
| 2804 | + datavizWebmap = new WebMap(id, { ...commonOption }); | ||
| 2805 | + const callback = function () { | ||
| 2806 | + const appreciableLayers = datavizWebmap.getLayers(); | ||
| 2807 | + expect(appreciableLayers[1].id).toBe('ChinaqxAlberts_4548@fl-new'); | ||
| 2808 | + expect(appreciableLayers[1].visible).toBe(false); | ||
| 2809 | + expect(appreciableLayers[2].id).toBe('民航数据'); | ||
| 2810 | + done(); | ||
| 2811 | + }; | ||
| 2812 | + datavizWebmap.on('mapcreatesucceeded', callback); | ||
| 2813 | + }); | ||
| 2786 | 2814 | }); | |
| Back | FazBrowse Home | New Git URL |
0 commit comments