Skip to content

Commit 3d6cdfb

Browse files
authored
Merge pull request #5515 from 3liz/backport-5384-to-release_3_9
[Backport release_3_9] Google maptile add Terrain layer
2 parents 7f9a29e + 37e74a0 commit 3d6cdfb

File tree

6 files changed

+1040
-456
lines changed

6 files changed

+1040
-456
lines changed

assets/src/modules/config/BaseLayer.js

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -803,6 +803,13 @@ const QMSExternalLayer = {
803803
"title": "Google Satellite",
804804
"mapType": "satellite",
805805
"key":""
806+
},
807+
"google-terrain": {
808+
"type" :"google",
809+
"title": "Google Terrain",
810+
"mapType": "terrain",
811+
"key":""
812+
806813
}
807814
}
808815

@@ -903,9 +910,13 @@ export class BaseLayersConfig {
903910
// roads
904911
extendedCfg[layerTreeItem.name] = structuredClone(QMSExternalLayer["google-streets"])
905912
} else if (externalUrl.includes('lyrs=s')){
906-
// fallback on satellite map
913+
// satellite map
907914
extendedCfg[layerTreeItem.name] = structuredClone(QMSExternalLayer["google-satellite"])
915+
} else if (externalUrl.includes('lyrs=p') || externalUrl.includes('lyrs=t')){
916+
// terrain
917+
extendedCfg[layerTreeItem.name] = structuredClone(QMSExternalLayer["google-terrain"])
908918
} else {
919+
// Fallback to google-streets
909920
extendedCfg[layerTreeItem.name] = structuredClone(QMSExternalLayer["google-streets"])
910921
}
911922
// add the apikey to the configuration

tests/end2end/playwright/google-basemap.spec.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,16 @@ test.describe('Google Maps Baselayers', () => {
2525
await gotoMap(url, page);
2626

2727
// there are three Google base layers in the project, so the expected number of failing requests is three
28-
expect(initGoogleRequestsCount).toBe(3);
28+
expect(initGoogleRequestsCount).toBe(4);
2929
// baselayers group should be visible...
3030
await expect(page.locator('#switcher-baselayer')).toBeVisible();
3131

3232
//.. and should contain the three Google base layers (not loaded)
3333
let options = page.locator('#switcher-baselayer').getByRole('combobox').locator('option');
34-
await expect(options).toHaveCount(3);
34+
await expect(options).toHaveCount(4);
3535
expect(await options.nth(0).getAttribute('value')).toBe('Google Streets');
3636
expect(await options.nth(1).getAttribute('value')).toBe('Google Satellite');
3737
expect(await options.nth(2).getAttribute('value')).toBe('Google Hybrid');
38+
expect(await options.nth(3).getAttribute('value')).toBe('Google Terrain');
3839
});
3940
});

0 commit comments

Comments
 (0)