aboutsummaryrefslogtreecommitdiff
path: root/modern/src/map/overlay/useMapOverlays.js
diff options
context:
space:
mode:
Diffstat (limited to 'modern/src/map/overlay/useMapOverlays.js')
-rw-r--r--modern/src/map/overlay/useMapOverlays.js43
1 files changed, 40 insertions, 3 deletions
diff --git a/modern/src/map/overlay/useMapOverlays.js b/modern/src/map/overlay/useMapOverlays.js
index ede1e5b9..1a917ba2 100644
--- a/modern/src/map/overlay/useMapOverlays.js
+++ b/modern/src/map/overlay/useMapOverlays.js
@@ -1,25 +1,62 @@
import { useSelector } from 'react-redux';
import { useTranslation } from '../../common/components/LocalizationProvider';
+import { useAttributePreference } from '../../common/util/preferences';
-const sourceCustom = (url) => ({
+const sourceCustom = (urls) => ({
type: 'raster',
- tiles: [url],
+ tiles: urls,
tileSize: 256,
});
export default () => {
const t = useTranslation();
+ const openWeatherKey = useAttributePreference('openWeatherKey');
const customMapOverlay = useSelector((state) => state.session.server?.overlayUrl);
return [
{
id: 'openSeaMap',
title: t('mapOpenSeaMap'),
- source: sourceCustom('http://tiles.openseamap.org/seamark/{z}/{x}/{y}.png'),
+ source: sourceCustom(['http://tiles.openseamap.org/seamark/{z}/{x}/{y}.png']),
available: true,
},
{
+ id: 'openWeatherClouds',
+ title: t('mapOpenWeatherClouds'),
+ source: sourceCustom([`https://tile.openweathermap.org/map/clouds_new/{z}/{x}/{y}.png?appid=${openWeatherKey}`]),
+ available: !!openWeatherKey,
+ attribute: 'openWeatherKey',
+ },
+ {
+ id: 'openWeatherPrecipitation',
+ title: t('mapOpenWeatherPrecipitation'),
+ source: sourceCustom([`https://tile.openweathermap.org/map/precipitation_new/{z}/{x}/{y}.png?appid=${openWeatherKey}`]),
+ available: !!openWeatherKey,
+ attribute: 'openWeatherKey',
+ },
+ {
+ id: 'openWeatherPressure',
+ title: t('mapOpenWeatherPressure'),
+ source: sourceCustom([`https://tile.openweathermap.org/map/pressure_new/{z}/{x}/{y}.png?appid=${openWeatherKey}`]),
+ available: !!openWeatherKey,
+ attribute: 'openWeatherKey',
+ },
+ {
+ id: 'openWeatherWind',
+ title: t('mapOpenWeatherWind'),
+ source: sourceCustom([`https://tile.openweathermap.org/map/wind_new/{z}/{x}/{y}.png?appid=${openWeatherKey}`]),
+ available: !!openWeatherKey,
+ attribute: 'openWeatherKey',
+ },
+ {
+ id: 'openWeatherTemperature',
+ title: t('mapOpenWeatherTemperature'),
+ source: sourceCustom([`https://tile.openweathermap.org/map/temp_new/{z}/{x}/{y}.png?appid=${openWeatherKey}`]),
+ available: !!openWeatherKey,
+ attribute: 'openWeatherKey',
+ },
+ {
id: 'custom',
title: t('mapOverlayCustom'),
source: sourceCustom(customMapOverlay),