+
+
+ {mapError && (
+
+
+
Map Error
+
{mapError}
+
+
+ )}
+
{/* Map Overlay Search */}
{/* Bottom Controls */}
-
diff --git a/apps/web/public/map-demo.html b/apps/web/public/map-demo.html
index 446867c..5277170 100644
--- a/apps/web/public/map-demo.html
+++ b/apps/web/public/map-demo.html
@@ -378,7 +378,7 @@
container: 'map',
center: ROUTES.LEVANT.center,
zoom: ROUTES.LEVANT.zoom,
- style: './style.json', // β style.json fixed (no duplicate IDs)
+ style: `${API_BASE}/api/maps/style.json?api_key=${API_KEY}`,
pitch: 0,
bearing: 0,
attributionControl: false
diff --git a/docker-compose.yml b/docker-compose.yml
index 36924b9..0300074 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -158,7 +158,7 @@ services:
- api
- martin
- # Commercial Dashboard: React/Vite
+ # Commercial Dashboard: Vanilla HTML/CSS/JS (High Performance)
dashboard:
build:
context: .
@@ -166,9 +166,7 @@ services:
container_name: map-dashboard
platform: linux/amd64
ports:
- - "3204:5173"
- environment:
- - VITE_API_URL=http://api:3200
+ - "3204:80"
depends_on:
- api
diff --git a/infrastructure/docker/dashboard/Dockerfile b/infrastructure/docker/dashboard/Dockerfile
index 928d278..10cc73f 100644
--- a/infrastructure/docker/dashboard/Dockerfile
+++ b/infrastructure/docker/dashboard/Dockerfile
@@ -1,18 +1,21 @@
-FROM node:20-alpine
+FROM nginx:alpine
-WORKDIR /app
+# Remove default nginx static assets
+RUN rm -rf /usr/share/nginx/html/*
-# Install dependencies placeholder
-COPY apps/dashboard/package*.json ./
-RUN npm install
+# Copy static assets into nginx
+COPY apps/dashboard/index.html /usr/share/nginx/html/
+COPY apps/dashboard/js /usr/share/nginx/html/js/
+COPY apps/dashboard/css /usr/share/nginx/html/css/
-# Copy source
-COPY apps/dashboard/ .
+# Fix networking issues by adding a simple redirect for spa if needed
+# But for hash-based routing, default index.html is enough.
+# We also need to handle the API proxy if we want to avoid CORS issues
+# However, the user's docker-compose has the API and Dashboard on different ports.
+# In a real production, we'd use Nginx to proxy /api to the backend.
-# Build for production
-RUN npm run build
+COPY infrastructure/docker/dashboard/nginx.conf /etc/nginx/conf.d/default.conf
-# We use a simple static server or just serve from Vite for demo
-# For production, we can use nginx, but let's stick to dev/preview mode for now
-# per user request to see "what happens"
-CMD ["npm", "run", "preview", "--", "--host", "--port", "5173"]
+EXPOSE 80
+
+CMD ["nginx", "-g", "daemon off;"]
diff --git a/infrastructure/docker/dashboard/nginx.conf b/infrastructure/docker/dashboard/nginx.conf
new file mode 100644
index 0000000..d23540b
--- /dev/null
+++ b/infrastructure/docker/dashboard/nginx.conf
@@ -0,0 +1,30 @@
+server {
+ listen 80;
+ server_name localhost;
+
+ location / {
+ root /usr/share/nginx/html;
+ index index.html;
+ try_files $uri $uri/ /index.html;
+ }
+
+ # Proxy API requests to the api service in docker
+ location /api/ {
+ proxy_pass http://api:3200/api/;
+ proxy_http_version 1.1;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection 'upgrade';
+ proxy_set_header Host $host;
+ proxy_cache_bypass $http_upgrade;
+ }
+
+ # Proxy Martin Vector Tiles (if accessed via dashboard directly)
+ location /tiles/ {
+ proxy_pass http://martin:3000/;
+ }
+
+ error_page 500 502 503 504 /50x.html;
+ location = /50x.html {
+ root /usr/share/nginx/html;
+ }
+}
diff --git a/style-dark.json b/style-dark.json
new file mode 100644
index 0000000..000a1c4
--- /dev/null
+++ b/style-dark.json
@@ -0,0 +1,2862 @@
+{
+ "version": 8,
+ "name": "Intaleq Premium β Obsidian v2.9",
+ "metadata": {
+ "brand": "Intaleq",
+ "version": "2.10.0-obsidian",
+ "description": "Intaleq dark (obsidian) theme β buildings at close zoom only, on-road labels, improved arrows"
+ },
+ "center": [
+ 36.276008,
+ 33.513685
+ ],
+ "zoom": 15,
+ "glyphs": "https://cdn.protomaps.com/fonts/pbf/{fontstack}/{range}.pbf",
+ "sprite": "https://demotiles.maplibre.org/styles/osm-bright-gl-style/sprite",
+ "sources": {
+ "local-osm-polygons": {
+ "type": "vector",
+ "tiles": [
+ "https://tiles.intaleqapp.com/planet_osm_polygon/{z}/{x}/{y}"
+ ],
+ "maxzoom": 14,
+ "attribution": "Β© Intaleq | Β© OpenStreetMap contributors"
+ },
+ "local-osm-lines": {
+ "type": "vector",
+ "tiles": [
+ "https://tiles.intaleqapp.com/planet_osm_line/{z}/{x}/{y}"
+ ],
+ "maxzoom": 14
+ },
+ "local-osm-points": {
+ "type": "vector",
+ "tiles": [
+ "https://tiles.intaleqapp.com/planet_osm_point/{z}/{x}/{y}"
+ ],
+ "maxzoom": 14
+ },
+ "places_egypt": {
+ "type": "vector",
+ "tiles": [
+ "https://tiles.intaleqapp.com/places_egypt/{z}/{x}/{y}"
+ ],
+ "maxzoom": 14
+ },
+ "places_syria": {
+ "type": "vector",
+ "tiles": [
+ "https://tiles.intaleqapp.com/places_syria/{z}/{x}/{y}"
+ ],
+ "maxzoom": 14
+ },
+ "places_jordan": {
+ "type": "vector",
+ "tiles": [
+ "https://tiles.intaleqapp.com/places_jordan/{z}/{x}/{y}"
+ ],
+ "maxzoom": 14
+ },
+ "overture_buildings": {
+ "type": "vector",
+ "tiles": [
+ "https://tiles.intaleqapp.com/overture_building/{z}/{x}/{y}"
+ ],
+ "maxzoom": 14
+ },
+ "overture_segments": {
+ "type": "vector",
+ "tiles": [
+ "https://tiles.intaleqapp.com/overture_segment/{z}/{x}/{y}"
+ ],
+ "maxzoom": 14
+ }
+ },
+ "layers": [
+ {
+ "id": "background",
+ "type": "background",
+ "paint": {
+ "background-color": "#101014"
+ }
+ },
+ {
+ "id": "landuse-residential",
+ "type": "fill",
+ "source": "local-osm-polygons",
+ "source-layer": "planet_osm_polygon",
+ "filter": [
+ "==",
+ "landuse",
+ "residential"
+ ],
+ "paint": {
+ "fill-color": "#151A22",
+ "fill-opacity": 1.0
+ }
+ },
+ {
+ "id": "landuse-commercial",
+ "type": "fill",
+ "source": "local-osm-polygons",
+ "source-layer": "planet_osm_polygon",
+ "filter": [
+ "==",
+ "landuse",
+ "commercial"
+ ],
+ "paint": {
+ "fill-color": "#1C1C24",
+ "fill-opacity": 1.0
+ }
+ },
+ {
+ "id": "landuse-cemetery",
+ "type": "fill",
+ "source": "local-osm-polygons",
+ "source-layer": "planet_osm_polygon",
+ "filter": [
+ "==",
+ "landuse",
+ "cemetery"
+ ],
+ "paint": {
+ "fill-color": "#1D231E",
+ "fill-opacity": 1.0
+ }
+ },
+ {
+ "id": "landuse-military",
+ "type": "fill",
+ "source": "local-osm-polygons",
+ "source-layer": "planet_osm_polygon",
+ "filter": [
+ "==",
+ "landuse",
+ "military"
+ ],
+ "paint": {
+ "fill-color": "#2A251F",
+ "fill-opacity": 1.0
+ }
+ },
+ {
+ "id": "landuse-industrial",
+ "type": "fill",
+ "source": "local-osm-polygons",
+ "source-layer": "planet_osm_polygon",
+ "filter": [
+ "in",
+ "landuse",
+ "industrial",
+ "railway"
+ ],
+ "paint": {
+ "fill-color": "#181C22",
+ "fill-opacity": 1
+ }
+ },
+ {
+ "id": "park-layer",
+ "type": "fill",
+ "source": "local-osm-polygons",
+ "source-layer": "planet_osm_polygon",
+ "filter": [
+ "any",
+ [
+ "in",
+ "leisure",
+ "park",
+ "garden",
+ "nature_reserve",
+ "pitch",
+ "playground"
+ ],
+ [
+ "in",
+ "landuse",
+ "grass",
+ "meadow",
+ "forest"
+ ],
+ [
+ "in",
+ "natural",
+ "wood",
+ "scrub",
+ "heath"
+ ]
+ ],
+ "paint": {
+ "fill-color": [
+ "match",
+ [
+ "get",
+ "leisure"
+ ],
+ "pitch",
+ "#1A2B1A",
+ "playground",
+ "#1E2E1E",
+ "#1A281A"
+ ],
+ "fill-opacity": 0.6
+ }
+ },
+ {
+ "id": "park-outline",
+ "type": "line",
+ "source": "local-osm-polygons",
+ "source-layer": "planet_osm_polygon",
+ "filter": [
+ "in",
+ "leisure",
+ "park",
+ "garden",
+ "nature_reserve"
+ ],
+ "paint": {
+ "line-color": "#1A2B1A",
+ "line-width": 0.8,
+ "line-opacity": 0.4
+ }
+ },
+ {
+ "id": "water-polygon",
+ "type": "fill",
+ "source": "local-osm-polygons",
+ "source-layer": "planet_osm_polygon",
+ "filter": [
+ "any",
+ [
+ "in",
+ "natural",
+ "water",
+ "lake",
+ "bay"
+ ],
+ [
+ "==",
+ "waterway",
+ "riverbank"
+ ],
+ [
+ "in",
+ "landuse",
+ "basin",
+ "reservoir"
+ ],
+ [
+ "==",
+ "amenity",
+ "fountain"
+ ]
+ ],
+ "paint": {
+ "fill-color": "#0E2A3A",
+ "fill-opacity": 0.85
+ }
+ },
+ {
+ "id": "water-polygon-outline",
+ "type": "line",
+ "source": "local-osm-polygons",
+ "source-layer": "planet_osm_polygon",
+ "filter": [
+ "any",
+ [
+ "in",
+ "natural",
+ "water",
+ "lake",
+ "bay"
+ ],
+ [
+ "==",
+ "waterway",
+ "riverbank"
+ ],
+ [
+ "in",
+ "landuse",
+ "basin",
+ "reservoir"
+ ]
+ ],
+ "paint": {
+ "line-color": "#1A3A4A",
+ "line-width": 0.8,
+ "line-opacity": 0.6
+ }
+ },
+ {
+ "id": "waterway-river",
+ "type": "line",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "filter": [
+ "all",
+ [
+ "in",
+ "waterway",
+ "river",
+ "canal"
+ ],
+ [
+ "!=",
+ "intermittent",
+ "yes"
+ ],
+ [
+ "!=",
+ "seasonal",
+ "yes"
+ ],
+ [
+ "!=",
+ "tunnel",
+ "yes"
+ ]
+ ],
+ "paint": {
+ "line-color": "#1A3A4A",
+ "line-width": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 10,
+ 1.5,
+ 14,
+ 4,
+ 16,
+ 7
+ ],
+ "line-opacity": 0.95
+ }
+ },
+ {
+ "id": "waterway-stream-drain",
+ "type": "line",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "filter": [
+ "all",
+ [
+ "in",
+ "waterway",
+ "stream",
+ "drain",
+ "ditch"
+ ],
+ [
+ "!=",
+ "intermittent",
+ "yes"
+ ],
+ [
+ "!=",
+ "seasonal",
+ "yes"
+ ],
+ [
+ "!=",
+ "tunnel",
+ "yes"
+ ]
+ ],
+ "minzoom": 13,
+ "paint": {
+ "line-color": "#1A3A4A",
+ "line-width": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 13,
+ 0.8,
+ 16,
+ 2.5
+ ],
+ "line-opacity": 0.85
+ }
+ },
+ {
+ "id": "railway-area",
+ "type": "fill",
+ "source": "local-osm-polygons",
+ "source-layer": "planet_osm_polygon",
+ "filter": [
+ "==",
+ "landuse",
+ "railway"
+ ],
+ "paint": {
+ "fill-color": "#DDE2EA",
+ "fill-opacity": 0.9
+ }
+ },
+ {
+ "id": "railway-rail-casing",
+ "type": "line",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "filter": [
+ "all",
+ [
+ "in",
+ "railway",
+ "rail",
+ "narrow_gauge",
+ "preserved"
+ ],
+ [
+ "!=",
+ "service",
+ "yard"
+ ],
+ [
+ "!=",
+ "service",
+ "siding"
+ ]
+ ],
+ "minzoom": 8,
+ "paint": {
+ "line-color": "#B0B8C5",
+ "line-width": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 8,
+ 2,
+ 12,
+ 4,
+ 16,
+ 8
+ ]
+ }
+ },
+ {
+ "id": "railway-rail-core",
+ "type": "line",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "filter": [
+ "all",
+ [
+ "in",
+ "railway",
+ "rail",
+ "narrow_gauge",
+ "preserved"
+ ],
+ [
+ "!=",
+ "service",
+ "yard"
+ ],
+ [
+ "!=",
+ "service",
+ "siding"
+ ]
+ ],
+ "minzoom": 8,
+ "paint": {
+ "line-color": "#6B7A8E",
+ "line-width": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 8,
+ 1,
+ 12,
+ 2.5,
+ 16,
+ 5
+ ],
+ "line-dasharray": [
+ 6,
+ 4
+ ]
+ }
+ },
+ {
+ "id": "railway-subway-casing",
+ "type": "line",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "filter": [
+ "in",
+ "railway",
+ "subway",
+ "light_rail",
+ "tram",
+ "monorail"
+ ],
+ "minzoom": 10,
+ "paint": {
+ "line-color": [
+ "match",
+ [
+ "get",
+ "railway"
+ ],
+ "subway",
+ "#CC2233",
+ "light_rail",
+ "#0066CC",
+ "tram",
+ "#8833BB",
+ "monorail",
+ "#008855",
+ "#BB3344"
+ ],
+ "line-width": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 10,
+ 3,
+ 14,
+ 6,
+ 16,
+ 10
+ ]
+ }
+ },
+ {
+ "id": "railway-subway-core",
+ "type": "line",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "filter": [
+ "in",
+ "railway",
+ "subway",
+ "light_rail",
+ "tram",
+ "monorail"
+ ],
+ "minzoom": 10,
+ "paint": {
+ "line-color": [
+ "match",
+ [
+ "get",
+ "railway"
+ ],
+ "subway",
+ "#FF3347",
+ "light_rail",
+ "#2288FF",
+ "tram",
+ "#AA44EE",
+ "monorail",
+ "#00BB66",
+ "#FF4455"
+ ],
+ "line-width": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 10,
+ 1.5,
+ 14,
+ 3.5,
+ 16,
+ 6
+ ]
+ }
+ },
+ {
+ "id": "road-casing-track-path",
+ "type": "line",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "filter": [
+ "in",
+ "highway",
+ "track",
+ "path",
+ "footway",
+ "cycleway",
+ "steps"
+ ],
+ "minzoom": 14,
+ "paint": {
+ "line-color": "#D4D8DF",
+ "line-width": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 14,
+ 1,
+ 16,
+ 4
+ ],
+ "line-dasharray": [
+ 4,
+ 3
+ ]
+ }
+ },
+ {
+ "id": "road-casing-minor",
+ "type": "line",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "filter": [
+ "in",
+ "highway",
+ "residential",
+ "service",
+ "unclassified",
+ "living_street",
+ "pedestrian"
+ ],
+ "paint": {
+ "line-color": "#D4D8DF",
+ "line-width": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 12,
+ 1.5,
+ 16,
+ 10
+ ],
+ "line-opacity": 0.7
+ }
+ },
+ {
+ "id": "road-core-minor",
+ "type": "line",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "filter": [
+ "in",
+ "highway",
+ "residential",
+ "service",
+ "unclassified",
+ "living_street",
+ "pedestrian"
+ ],
+ "paint": {
+ "line-color": "#FFFFFF",
+ "line-width": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 12,
+ 0.8,
+ 16,
+ 8
+ ]
+ }
+ },
+ {
+ "id": "road-casing-tertiary",
+ "type": "line",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "filter": [
+ "in",
+ "highway",
+ "tertiary",
+ "tertiary_link"
+ ],
+ "paint": {
+ "line-color": "#000000",
+ "line-width": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 11,
+ 2,
+ 16,
+ 14
+ ],
+ "line-opacity": 0.75
+ }
+ },
+ {
+ "id": "road-core-tertiary",
+ "type": "line",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "filter": [
+ "in",
+ "highway",
+ "tertiary",
+ "tertiary_link"
+ ],
+ "paint": {
+ "line-color": "#FFFFFF",
+ "line-width": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 11,
+ 1.2,
+ 16,
+ 11
+ ]
+ }
+ },
+ {
+ "id": "road-casing-secondary",
+ "type": "line",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "filter": [
+ "in",
+ "highway",
+ "secondary",
+ "secondary_link"
+ ],
+ "paint": {
+ "line-color": "#000000",
+ "line-width": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 11,
+ 2.5,
+ 16,
+ 16
+ ],
+ "line-opacity": 0.8
+ }
+ },
+ {
+ "id": "road-core-secondary",
+ "type": "line",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "filter": [
+ "in",
+ "highway",
+ "secondary",
+ "secondary_link"
+ ],
+ "paint": {
+ "line-color": "#232B38",
+ "line-width": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 11,
+ 1.8,
+ 16,
+ 13
+ ]
+ }
+ },
+ {
+ "id": "road-casing-primary",
+ "type": "line",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "filter": [
+ "in",
+ "highway",
+ "primary",
+ "primary_link"
+ ],
+ "paint": {
+ "line-color": "#1A1A1A",
+ "line-width": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 10,
+ 3,
+ 16,
+ 18
+ ],
+ "line-opacity": 0.7
+ }
+ },
+ {
+ "id": "road-core-primary",
+ "type": "line",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "filter": [
+ "in",
+ "highway",
+ "primary",
+ "primary_link"
+ ],
+ "paint": {
+ "line-color": "#4A4A2A",
+ "line-width": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 10,
+ 2,
+ 16,
+ 14
+ ]
+ }
+ },
+ {
+ "id": "road-casing-motorway",
+ "type": "line",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "filter": [
+ "in",
+ "highway",
+ "motorway",
+ "motorway_link",
+ "trunk",
+ "trunk_link"
+ ],
+ "paint": {
+ "line-color": "#1A1A1A",
+ "line-width": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 9,
+ 4,
+ 16,
+ 20
+ ],
+ "line-opacity": 0.75
+ }
+ },
+ {
+ "id": "road-core-motorway",
+ "type": "line",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "filter": [
+ "in",
+ "highway",
+ "motorway",
+ "motorway_link",
+ "trunk",
+ "trunk_link"
+ ],
+ "paint": {
+ "line-color": "#5A4A1A",
+ "line-width": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 9,
+ 2.5,
+ 16,
+ 16
+ ]
+ }
+ },
+ {
+ "id": "road-direction-arrows",
+ "type": "symbol",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "minzoom": 15,
+ "filter": [
+ "all",
+ [
+ "in",
+ "highway",
+ "motorway",
+ "trunk",
+ "primary",
+ "secondary",
+ "tertiary",
+ "residential",
+ "unclassified",
+ "living_street"
+ ],
+ [
+ "==",
+ "oneway",
+ "yes"
+ ]
+ ],
+ "layout": {
+ "symbol-placement": "line",
+ "symbol-spacing": 120,
+ "text-field": "β",
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 15,
+ 16,
+ 17,
+ 22,
+ 19,
+ 28
+ ],
+ "text-keep-upright": false,
+ "text-rotation-alignment": "map",
+ "text-pitch-alignment": "viewport",
+ "text-allow-overlap": true,
+ "text-ignore-placement": true,
+ "text-padding": 0,
+ "text-letter-spacing": -0.1
+ },
+ "paint": {
+ "text-color": "rgba(100,200,255,0.45)",
+ "text-halo-color": "rgba(0,0,0,0.5)",
+ "text-halo-width": 1
+ }
+ },
+ {
+ "id": "building-fill-flat",
+ "type": "fill",
+ "source": "local-osm-polygons",
+ "source-layer": "planet_osm_polygon",
+ "filter": [
+ "has",
+ "building"
+ ],
+ "minzoom": 15,
+ "maxzoom": 16,
+ "paint": {
+ "fill-color": "#1A1D24",
+ "fill-opacity": 0.85,
+ "fill-outline-color": "#000000"
+ }
+ },
+ {
+ "id": "building-3d",
+ "type": "fill-extrusion",
+ "source": "local-osm-polygons",
+ "source-layer": "planet_osm_polygon",
+ "minzoom": 16,
+ "filter": [
+ "has",
+ "building"
+ ],
+ "paint": {
+ "fill-extrusion-color": "#2A2F3A",
+ "fill-extrusion-height": [
+ "coalesce",
+ [
+ "to-number",
+ [
+ "get",
+ "height"
+ ]
+ ],
+ [
+ "*",
+ [
+ "to-number",
+ [
+ "get",
+ "building:levels"
+ ],
+ 2
+ ],
+ 3.5
+ ],
+ 7
+ ],
+ "fill-extrusion-base": [
+ "coalesce",
+ [
+ "to-number",
+ [
+ "get",
+ "min_height"
+ ]
+ ],
+ 0
+ ],
+ "fill-extrusion-opacity": 0.8,
+ "fill-extrusion-vertical-gradient": true
+ }
+ },
+ {
+ "id": "building-3d-overture",
+ "type": "fill-extrusion",
+ "source": "overture_buildings",
+ "source-layer": "overture_building",
+ "minzoom": 16,
+ "paint": {
+ "fill-extrusion-color": [
+ "match",
+ [
+ "get",
+ "subtype"
+ ],
+ "commercial",
+ "#D8D0C0",
+ "retail",
+ "#E0D0B8",
+ "industrial",
+ "#C8D0DC",
+ "religious",
+ "#C8D4EC",
+ "education",
+ "#D4E0C4",
+ "medical",
+ "#E8D4D4",
+ "#DDD8D0"
+ ],
+ "fill-extrusion-height": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 16,
+ [
+ "coalesce",
+ [
+ "to-number",
+ [
+ "get",
+ "height"
+ ]
+ ],
+ [
+ "*",
+ [
+ "coalesce",
+ [
+ "to-number",
+ [
+ "get",
+ "num_floors"
+ ]
+ ],
+ 3
+ ],
+ 3.5
+ ],
+ 9
+ ],
+ 18,
+ [
+ "coalesce",
+ [
+ "to-number",
+ [
+ "get",
+ "height"
+ ]
+ ],
+ [
+ "*",
+ [
+ "coalesce",
+ [
+ "to-number",
+ [
+ "get",
+ "num_floors"
+ ]
+ ],
+ 3
+ ],
+ 3.5
+ ],
+ 12
+ ]
+ ],
+ "fill-extrusion-base": [
+ "coalesce",
+ [
+ "to-number",
+ [
+ "get",
+ "min_height"
+ ]
+ ],
+ 0
+ ],
+ "fill-extrusion-opacity": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 15,
+ 0,
+ 16,
+ 0.6,
+ 17,
+ 0.88
+ ],
+ "fill-extrusion-vertical-gradient": true
+ }
+ },
+ {
+ "id": "overture-building-footprint",
+ "type": "fill",
+ "source": "overture_buildings",
+ "source-layer": "overture_building",
+ "minzoom": 15,
+ "maxzoom": 16,
+ "paint": {
+ "fill-color": "#1A1D24",
+ "fill-opacity": 0.82,
+ "fill-outline-color": "#000000"
+ }
+ },
+ {
+ "id": "railway-label",
+ "type": "symbol",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "filter": [
+ "in",
+ "railway",
+ "rail",
+ "subway",
+ "light_rail",
+ "tram"
+ ],
+ "minzoom": 13,
+ "layout": {
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "symbol-placement": "line",
+ "text-padding": 6,
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": [
+ "match",
+ [
+ "get",
+ "railway"
+ ],
+ "subway",
+ "#E53E3E",
+ "light_rail",
+ "#63B3ED",
+ "tram",
+ "#B794F4",
+ "#A0AEC0"
+ ],
+ "text-halo-color": "#101014",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "waterway-label",
+ "type": "symbol",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "filter": [
+ "all",
+ [
+ "in",
+ "waterway",
+ "river",
+ "canal"
+ ],
+ [
+ "!=",
+ "intermittent",
+ "yes"
+ ],
+ [
+ "has",
+ "name"
+ ]
+ ],
+ "minzoom": 12,
+ "layout": {
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 11,
+ "symbol-placement": "line",
+ "text-letter-spacing": 0.1
+ },
+ "paint": {
+ "text-color": "#4FD1C5",
+ "text-halo-color": "#101014",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "building-number-polygon",
+ "type": "symbol",
+ "source": "local-osm-polygons",
+ "source-layer": "planet_osm_polygon",
+ "minzoom": 17,
+ "filter": [
+ "has",
+ "addr:housenumber"
+ ],
+ "layout": {
+ "text-field": "{addr:housenumber}",
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#CBD5E0",
+ "text-halo-color": "#101014",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "building-number-point",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 17,
+ "filter": [
+ "has",
+ "addr:housenumber"
+ ],
+ "layout": {
+ "text-field": "{addr:housenumber}",
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#5A5048",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "overture-building-names",
+ "type": "symbol",
+ "source": "overture_buildings",
+ "source-layer": "overture_building",
+ "minzoom": 17,
+ "filter": [
+ "has",
+ "names"
+ ],
+ "layout": {
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "names"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-anchor": "center",
+ "text-allow-overlap": false,
+ "text-max-width": 8
+ },
+ "paint": {
+ "text-color": "#5A5048",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "road-labels-minor",
+ "type": "symbol",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "filter": [
+ "in",
+ "highway",
+ "residential",
+ "service",
+ "unclassified",
+ "living_street"
+ ],
+ "minzoom": 16,
+ "layout": {
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 16,
+ 10,
+ 18,
+ 13
+ ],
+ "symbol-placement": "line",
+ "text-rotation-alignment": "map",
+ "text-pitch-alignment": "viewport",
+ "text-keep-upright": true,
+ "text-max-angle": 25,
+ "symbol-spacing": 300,
+ "text-letter-spacing": 0.04,
+ "text-padding": 8,
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#CBD5E0",
+ "text-halo-color": "#101014",
+ "text-halo-width": 1.8
+ }
+ },
+ {
+ "id": "road-labels-major",
+ "type": "symbol",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "filter": [
+ "in",
+ "highway",
+ "primary",
+ "secondary",
+ "tertiary",
+ "motorway",
+ "trunk"
+ ],
+ "minzoom": 12,
+ "layout": {
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Bold"
+ ],
+ "text-size": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 12,
+ 10,
+ 14,
+ 13,
+ 18,
+ 16
+ ],
+ "symbol-placement": "line",
+ "text-rotation-alignment": "map",
+ "text-pitch-alignment": "viewport",
+ "text-keep-upright": true,
+ "text-max-angle": 22,
+ "symbol-spacing": 350,
+ "text-letter-spacing": 0.05,
+ "text-padding": 12,
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#E2E8F0",
+ "text-halo-color": "#101014",
+ "text-halo-width": 2.5
+ }
+ },
+ {
+ "id": "overture-street-names",
+ "type": "symbol",
+ "source": "overture_segments",
+ "source-layer": "overture_segment",
+ "minzoom": 14,
+ "filter": [
+ "has",
+ "names"
+ ],
+ "layout": {
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "names"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 14,
+ 9,
+ 16,
+ 12,
+ 18,
+ 14
+ ],
+ "symbol-placement": "line",
+ "text-rotation-alignment": "map",
+ "text-pitch-alignment": "viewport",
+ "text-keep-upright": true,
+ "text-max-angle": 28,
+ "symbol-spacing": 280,
+ "text-letter-spacing": 0.04,
+ "text-padding": 15,
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#A0AEC0",
+ "text-halo-color": "#101014",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "poi-hospital",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 13,
+ "filter": [
+ "==",
+ "amenity",
+ "hospital"
+ ],
+ "layout": {
+ "icon-image": "hospital_11",
+ "icon-size": 1.0,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 11,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#FC8181",
+ "text-halo-color": "#101014",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "poi-doctor-clinic",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 15,
+ "filter": [
+ "in",
+ "amenity",
+ "clinic",
+ "doctors",
+ "dentist"
+ ],
+ "layout": {
+ "icon-image": [
+ "match",
+ [
+ "get",
+ "amenity"
+ ],
+ "dentist",
+ "dentist_11",
+ "doctor_11"
+ ],
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#C0392B",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-pharmacy",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 15,
+ "filter": [
+ "==",
+ "amenity",
+ "pharmacy"
+ ],
+ "layout": {
+ "icon-image": "pharmacy_11",
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 11,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#68D391",
+ "text-halo-color": "#101014",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "poi-place-of-worship",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 14,
+ "filter": [
+ "==",
+ "amenity",
+ "place_of_worship"
+ ],
+ "layout": {
+ "icon-image": [
+ "match",
+ [
+ "get",
+ "religion"
+ ],
+ "muslim",
+ "religious_muslim_11",
+ "christian",
+ "religious_christian_11",
+ "jewish",
+ "religious_jewish_11",
+ "place_of_worship_11"
+ ],
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 11,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#48BB78",
+ "text-halo-color": "#101014",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "poi-school",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 14,
+ "filter": [
+ "in",
+ "amenity",
+ "school",
+ "university",
+ "college"
+ ],
+ "layout": {
+ "icon-image": [
+ "match",
+ [
+ "get",
+ "amenity"
+ ],
+ "school",
+ "school_11",
+ "college_11"
+ ],
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 11,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#D6BCFA",
+ "text-halo-color": "#101014",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "poi-restaurant",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 15,
+ "filter": [
+ "in",
+ "amenity",
+ "restaurant",
+ "fast_food"
+ ],
+ "layout": {
+ "icon-image": [
+ "match",
+ [
+ "get",
+ "amenity"
+ ],
+ "fast_food",
+ "fast_food_11",
+ "restaurant_11"
+ ],
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#F6AD55",
+ "text-halo-color": "#101014",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-cafe",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 15,
+ "filter": [
+ "==",
+ "amenity",
+ "cafe"
+ ],
+ "layout": {
+ "icon-image": "cafe_11",
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#F6AD55",
+ "text-halo-color": "#101014",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-bakery",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 16,
+ "filter": [
+ "in",
+ "shop",
+ "bakery",
+ "pastry"
+ ],
+ "layout": {
+ "icon-image": "bakery_11",
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#B794F4",
+ "text-halo-color": "#101014",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-shopping",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 14,
+ "filter": [
+ "any",
+ [
+ "in",
+ "shop",
+ "mall",
+ "department_store",
+ "supermarket",
+ "clothes",
+ "shoes",
+ "jewelry",
+ "electronics",
+ "mobile_phone",
+ "furniture",
+ "convenience",
+ "general",
+ "variety_store"
+ ],
+ [
+ "in",
+ "amenity",
+ "marketplace"
+ ]
+ ],
+ "layout": {
+ "icon-image": [
+ "match",
+ [
+ "get",
+ "shop"
+ ],
+ "clothes",
+ "clothing_store_11",
+ "shoes",
+ "clothing_store_11",
+ "supermarket",
+ "grocery_11",
+ "convenience",
+ "grocery_11",
+ "shop_11"
+ ],
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#B794F4",
+ "text-halo-color": "#101014",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-fuel",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 14,
+ "filter": [
+ "==",
+ "amenity",
+ "fuel"
+ ],
+ "layout": {
+ "icon-image": "fuel_11",
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#4FD1C5",
+ "text-halo-color": "#101014",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-bank",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 15,
+ "filter": [
+ "in",
+ "amenity",
+ "bank",
+ "atm"
+ ],
+ "layout": {
+ "icon-image": "bank_11",
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#63B3ED",
+ "text-halo-color": "#101014",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-police",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 14,
+ "filter": [
+ "==",
+ "amenity",
+ "police"
+ ],
+ "layout": {
+ "icon-image": "police_11",
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#4299E1",
+ "text-halo-color": "#101014",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-fire-station",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 14,
+ "filter": [
+ "==",
+ "amenity",
+ "fire_station"
+ ],
+ "layout": {
+ "icon-image": "fire_station_11",
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#F56565",
+ "text-halo-color": "#101014",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-hotel",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 14,
+ "filter": [
+ "in",
+ "tourism",
+ "hotel",
+ "motel",
+ "hostel",
+ "guest_house"
+ ],
+ "layout": {
+ "icon-image": "lodging_11",
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#ED8936",
+ "text-halo-color": "#101014",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-parking",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 16,
+ "filter": [
+ "==",
+ "amenity",
+ "parking"
+ ],
+ "layout": {
+ "icon-image": "car_11",
+ "icon-size": 0.7,
+ "text-field": "",
+ "text-optional": true
+ },
+ "paint": {
+ "icon-opacity": 0.7
+ }
+ },
+ {
+ "id": "poi-toilets",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 16,
+ "filter": [
+ "==",
+ "amenity",
+ "toilets"
+ ],
+ "layout": {
+ "icon-image": "toilet_11",
+ "icon-size": 0.7,
+ "text-field": "",
+ "text-optional": true
+ },
+ "paint": {
+ "icon-opacity": 0.7
+ }
+ },
+ {
+ "id": "poi-post-office",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 15,
+ "filter": [
+ "==",
+ "amenity",
+ "post_office"
+ ],
+ "layout": {
+ "icon-image": "post_11",
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#4A5568",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-library",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 15,
+ "filter": [
+ "==",
+ "amenity",
+ "library"
+ ],
+ "layout": {
+ "icon-image": "library_11",
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#4A5568",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-cinema",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 15,
+ "filter": [
+ "in",
+ "amenity",
+ "cinema",
+ "theatre"
+ ],
+ "layout": {
+ "icon-image": [
+ "match",
+ [
+ "get",
+ "amenity"
+ ],
+ "theatre",
+ "theatre_11",
+ "cinema_11"
+ ],
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#B794F4",
+ "text-halo-color": "#101014",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-museum",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 14,
+ "filter": [
+ "in",
+ "tourism",
+ "museum",
+ "gallery"
+ ],
+ "layout": {
+ "icon-image": "museum_11",
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#F6AD55",
+ "text-halo-color": "#101014",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-transit-station",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 12,
+ "filter": [
+ "any",
+ [
+ "==",
+ "railway",
+ "station"
+ ],
+ [
+ "==",
+ "railway",
+ "halt"
+ ],
+ [
+ "==",
+ "railway",
+ "tram_stop"
+ ],
+ [
+ "==",
+ "station",
+ "subway"
+ ],
+ [
+ "==",
+ "amenity",
+ "bus_station"
+ ]
+ ],
+ "layout": {
+ "icon-image": "railway_11",
+ "icon-size": 1,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 11,
+ "text-offset": [
+ 0,
+ 1.4
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#FC8181",
+ "text-halo-color": "#101014",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "place-labels-area",
+ "type": "symbol",
+ "source": "local-osm-polygons",
+ "source-layer": "planet_osm_polygon",
+ "minzoom": 10,
+ "filter": [
+ "has",
+ "name"
+ ],
+ "layout": {
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 10,
+ 10,
+ 14,
+ 13
+ ],
+ "text-padding": 8,
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#34495E",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "place-labels-point",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 10,
+ "filter": [
+ "any",
+ [
+ "in",
+ "place",
+ "city",
+ "town",
+ "village",
+ "suburb",
+ "neighbourhood",
+ "hamlet",
+ "locality",
+ "quarter"
+ ],
+ [
+ "in",
+ "natural",
+ "peak",
+ "spring"
+ ]
+ ],
+ "layout": {
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 10,
+ [
+ "match",
+ [
+ "get",
+ "place"
+ ],
+ "city",
+ 16,
+ "town",
+ 14,
+ 11
+ ],
+ 14,
+ [
+ "match",
+ [
+ "get",
+ "place"
+ ],
+ "city",
+ 20,
+ "town",
+ 16,
+ 13
+ ],
+ 17,
+ 14
+ ],
+ "text-letter-spacing": [
+ "match",
+ [
+ "get",
+ "place"
+ ],
+ "city",
+ 0.08,
+ "town",
+ 0.05,
+ 0.02
+ ],
+ "text-anchor": "center",
+ "text-padding": 10,
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": [
+ "match",
+ [
+ "get",
+ "place"
+ ],
+ "city",
+ "#1A2740",
+ "town",
+ "#2C3E50",
+ "suburb",
+ "#34495E",
+ "neighbourhood",
+ "#34495E",
+ "#34495E"
+ ],
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": [
+ "match",
+ [
+ "get",
+ "place"
+ ],
+ "city",
+ 3,
+ "town",
+ 2.5,
+ 2
+ ]
+ }
+ },
+ {
+ "id": "places-egypt-labels",
+ "type": "symbol",
+ "source": "places_egypt",
+ "source-layer": "places_egypt",
+ "minzoom": 12,
+ "filter": [
+ "!in",
+ "category",
+ "street"
+ ],
+ "layout": {
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name_ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Bold"
+ ],
+ "text-size": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 12,
+ 9,
+ 16,
+ 13
+ ],
+ "text-offset": [
+ 0,
+ 1.5
+ ],
+ "text-anchor": "top",
+ "text-padding": 8,
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#2D3748",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "places-syria-labels",
+ "type": "symbol",
+ "source": "places_syria",
+ "source-layer": "places_syria",
+ "minzoom": 10,
+ "filter": [
+ "!in",
+ "category",
+ "street"
+ ],
+ "layout": {
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name_ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Bold"
+ ],
+ "text-size": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 12,
+ 9,
+ 16,
+ 13
+ ],
+ "text-offset": [
+ 0,
+ 1.5
+ ],
+ "text-anchor": "top",
+ "text-padding": 8,
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#2D3748",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "places-jordan-labels",
+ "type": "symbol",
+ "source": "places_jordan",
+ "source-layer": "places_jordan",
+ "minzoom": 10,
+ "filter": [
+ "!in",
+ "category",
+ "street"
+ ],
+ "layout": {
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name_ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Bold"
+ ],
+ "text-size": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 12,
+ 9,
+ 16,
+ 13
+ ],
+ "text-offset": [
+ 0,
+ 1.5
+ ],
+ "text-anchor": "top",
+ "text-padding": 8,
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#2D3748",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 2
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/style.json b/style.json
index 880fe53..3dc0c91 100644
--- a/style.json
+++ b/style.json
@@ -1,10 +1,10 @@
{
"version": 8,
- "name": "Intaleq Premium Map Style",
+ "name": "Intaleq Premium β Light v2.9",
"metadata": {
"brand": "Intaleq",
- "version": "2.0.0",
- "description": "Google + OSM hybrid style with 3D buildings, railways, subway, waterways, and Intaleq brand palette"
+ "version": "2.10.0-light",
+ "description": "Intaleq light theme β buildings at close zoom only, on-road labels, improved arrows"
},
"center": [
36.276008,
@@ -42,6 +42,34 @@
"https://tiles.intaleqapp.com/places_egypt/{z}/{x}/{y}"
],
"maxzoom": 14
+ },
+ "places_syria": {
+ "type": "vector",
+ "tiles": [
+ "https://tiles.intaleqapp.com/places_syria/{z}/{x}/{y}"
+ ],
+ "maxzoom": 14
+ },
+ "places_jordan": {
+ "type": "vector",
+ "tiles": [
+ "https://tiles.intaleqapp.com/places_jordan/{z}/{x}/{y}"
+ ],
+ "maxzoom": 14
+ },
+ "overture_buildings": {
+ "type": "vector",
+ "tiles": [
+ "https://tiles.intaleqapp.com/overture_building/{z}/{x}/{y}"
+ ],
+ "maxzoom": 14
+ },
+ "overture_segments": {
+ "type": "vector",
+ "tiles": [
+ "https://tiles.intaleqapp.com/overture_segment/{z}/{x}/{y}"
+ ],
+ "maxzoom": 14
}
},
"layers": [
@@ -64,7 +92,7 @@
],
"paint": {
"fill-color": "#F0F4F8",
- "fill-opacity": 1
+ "fill-opacity": 1.0
}
},
{
@@ -79,7 +107,37 @@
],
"paint": {
"fill-color": "#FAF5EE",
- "fill-opacity": 1
+ "fill-opacity": 1.0
+ }
+ },
+ {
+ "id": "landuse-cemetery",
+ "type": "fill",
+ "source": "local-osm-polygons",
+ "source-layer": "planet_osm_polygon",
+ "filter": [
+ "==",
+ "landuse",
+ "cemetery"
+ ],
+ "paint": {
+ "fill-color": "#B8D4BA",
+ "fill-opacity": 1.0
+ }
+ },
+ {
+ "id": "landuse-military",
+ "type": "fill",
+ "source": "local-osm-polygons",
+ "source-layer": "planet_osm_polygon",
+ "filter": [
+ "==",
+ "landuse",
+ "military"
+ ],
+ "paint": {
+ "fill-color": "#E2D9CC",
+ "fill-opacity": 1.0
}
},
{
@@ -98,36 +156,6 @@
"fill-opacity": 1
}
},
- {
- "id": "landuse-cemetery",
- "type": "fill",
- "source": "local-osm-polygons",
- "source-layer": "planet_osm_polygon",
- "filter": [
- "==",
- "landuse",
- "cemetery"
- ],
- "paint": {
- "fill-color": "#B8D4BA",
- "fill-opacity": 0.9
- }
- },
- {
- "id": "landuse-military",
- "type": "fill",
- "source": "local-osm-polygons",
- "source-layer": "planet_osm_polygon",
- "filter": [
- "==",
- "landuse",
- "military"
- ],
- "paint": {
- "fill-color": "#E2D9CC",
- "fill-opacity": 0.8
- }
- },
{
"id": "park-layer",
"type": "fill",
@@ -188,9 +216,9 @@
"nature_reserve"
],
"paint": {
- "line-color": "#94D4A0",
+ "line-color": "#9ED4A0",
"line-width": 0.8,
- "line-opacity": 0.7
+ "line-opacity": 0.6
}
},
{
@@ -580,7 +608,7 @@
],
"minzoom": 14,
"paint": {
- "line-color": "#C8CDD6",
+ "line-color": "#D4D8DF",
"line-width": [
"interpolate",
[
@@ -835,7 +863,7 @@
}
},
{
- "id": "road-casing-motorway-trunk",
+ "id": "road-casing-motorway",
"type": "line",
"source": "local-osm-lines",
"source-layer": "planet_osm_line",
@@ -866,7 +894,7 @@
}
},
{
- "id": "road-core-motorway-trunk",
+ "id": "road-core-motorway",
"type": "line",
"source": "local-osm-lines",
"source-layer": "planet_osm_line",
@@ -895,6 +923,68 @@
]
}
},
+ {
+ "id": "road-direction-arrows",
+ "type": "symbol",
+ "source": "local-osm-lines",
+ "source-layer": "planet_osm_line",
+ "minzoom": 15,
+ "filter": [
+ "all",
+ [
+ "in",
+ "highway",
+ "motorway",
+ "trunk",
+ "primary",
+ "secondary",
+ "tertiary",
+ "residential",
+ "unclassified",
+ "living_street"
+ ],
+ [
+ "==",
+ "oneway",
+ "yes"
+ ]
+ ],
+ "layout": {
+ "symbol-placement": "line",
+ "symbol-spacing": 120,
+ "text-field": "β",
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 15,
+ 16,
+ 17,
+ 22,
+ 19,
+ 28
+ ],
+ "text-keep-upright": false,
+ "text-rotation-alignment": "map",
+ "text-pitch-alignment": "viewport",
+ "text-allow-overlap": true,
+ "text-ignore-placement": true,
+ "text-padding": 0,
+ "text-letter-spacing": -0.1
+ },
+ "paint": {
+ "text-color": "rgba(80,96,120,0.55)",
+ "text-halo-color": "rgba(255,255,255,0.25)",
+ "text-halo-width": 1
+ }
+ },
{
"id": "building-fill-flat",
"type": "fill",
@@ -904,7 +994,8 @@
"has",
"building"
],
- "maxzoom": 14,
+ "minzoom": 15,
+ "maxzoom": 16,
"paint": {
"fill-color": "#DDD8D0",
"fill-opacity": 0.85,
@@ -916,39 +1007,77 @@
"type": "fill-extrusion",
"source": "local-osm-polygons",
"source-layer": "planet_osm_polygon",
- "minzoom": 14,
+ "minzoom": 16,
"filter": [
"has",
"building"
],
+ "paint": {
+ "fill-extrusion-color": "#DDD8D0",
+ "fill-extrusion-height": [
+ "coalesce",
+ [
+ "to-number",
+ [
+ "get",
+ "height"
+ ]
+ ],
+ [
+ "*",
+ [
+ "to-number",
+ [
+ "get",
+ "building:levels"
+ ],
+ 2
+ ],
+ 3.5
+ ],
+ 7
+ ],
+ "fill-extrusion-base": [
+ "coalesce",
+ [
+ "to-number",
+ [
+ "get",
+ "min_height"
+ ]
+ ],
+ 0
+ ],
+ "fill-extrusion-opacity": 0.8,
+ "fill-extrusion-vertical-gradient": true
+ }
+ },
+ {
+ "id": "building-3d-overture",
+ "type": "fill-extrusion",
+ "source": "overture_buildings",
+ "source-layer": "overture_building",
+ "minzoom": 16,
"paint": {
"fill-extrusion-color": [
"match",
[
"get",
- "building"
+ "subtype"
],
"commercial",
- "#DDD5C5",
+ "#D8D0C0",
"retail",
- "#E5D8C8",
+ "#E0D0B8",
"industrial",
- "#D2D8E0",
- "church",
- "#DDD4EE",
- "mosque",
- "#CCE4D0",
- "hospital",
- "#EDD8D8",
- "school",
- "#E0E6CC",
- "university",
- "#D8E0C8",
- "hotel",
- "#D8DCF0",
- "apartments",
- "#E0DCD4",
- "#DDD8D2"
+ "#C8D0DC",
+ "religious",
+ "#C8D4EC",
+ "education",
+ "#D4E0C4",
+ "medical",
+ "#E8D4D4",
+ "#DDD8D0"
],
"fill-extrusion-height": [
"interpolate",
@@ -958,24 +1087,7 @@
[
"zoom"
],
- 14,
- [
- "*",
- [
- "coalesce",
- [
- "to-number",
- [
- "get",
- "building:levels"
- ],
- null
- ],
- 3
- ],
- 2.5
- ],
- 17,
+ 16,
[
"coalesce",
[
@@ -983,16 +1095,45 @@
[
"get",
"height"
- ],
- null
+ ]
],
[
"*",
[
- "to-number",
+ "coalesce",
[
- "get",
- "building:levels"
+ "to-number",
+ [
+ "get",
+ "num_floors"
+ ]
+ ],
+ 3
+ ],
+ 3.5
+ ],
+ 9
+ ],
+ 18,
+ [
+ "coalesce",
+ [
+ "to-number",
+ [
+ "get",
+ "height"
+ ]
+ ],
+ [
+ "*",
+ [
+ "coalesce",
+ [
+ "to-number",
+ [
+ "get",
+ "num_floors"
+ ]
],
3
],
@@ -1008,8 +1149,7 @@
[
"get",
"min_height"
- ],
- null
+ ]
],
0
],
@@ -1021,14 +1161,29 @@
[
"zoom"
],
- 14,
- 0.6,
+ 15,
+ 0,
16,
+ 0.6,
+ 17,
0.88
],
"fill-extrusion-vertical-gradient": true
}
},
+ {
+ "id": "overture-building-footprint",
+ "type": "fill",
+ "source": "overture_buildings",
+ "source-layer": "overture_building",
+ "minzoom": 15,
+ "maxzoom": 16,
+ "paint": {
+ "fill-color": "#DDD8D0",
+ "fill-opacity": 0.82,
+ "fill-outline-color": "#C4BEB4"
+ }
+ },
{
"id": "railway-label",
"type": "symbol",
@@ -1079,7 +1234,7 @@
"#7722AA",
"#4A5568"
],
- "text-halo-color": "rgba(255,255,255,0.9)",
+ "text-halo-color": "rgba(255,255,255,0.93)",
"text-halo-width": 2
}
},
@@ -1129,7 +1284,7 @@
},
"paint": {
"text-color": "#2E86AB",
- "text-halo-color": "rgba(255,255,255,0.85)",
+ "text-halo-color": "rgba(255,255,255,0.93)",
"text-halo-width": 2
}
},
@@ -1149,12 +1304,11 @@
"Noto Sans Regular"
],
"text-size": 10,
- "text-allow-overlap": false,
- "text-ignore-placement": false
+ "text-allow-overlap": false
},
"paint": {
"text-color": "#5A5048",
- "text-halo-color": "rgba(255,255,255,0.95)",
+ "text-halo-color": "rgba(255,255,255,0.93)",
"text-halo-width": 1.5
}
},
@@ -1178,7 +1332,40 @@
},
"paint": {
"text-color": "#5A5048",
- "text-halo-color": "rgba(255,255,255,0.95)",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "overture-building-names",
+ "type": "symbol",
+ "source": "overture_buildings",
+ "source-layer": "overture_building",
+ "minzoom": 17,
+ "filter": [
+ "has",
+ "names"
+ ],
+ "layout": {
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "names"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-anchor": "center",
+ "text-allow-overlap": false,
+ "text-max-width": 8
+ },
+ "paint": {
+ "text-color": "#5A5048",
+ "text-halo-color": "rgba(255,255,255,0.93)",
"text-halo-width": 1.5
}
},
@@ -1212,16 +1399,33 @@
"text-font": [
"Noto Sans Regular"
],
- "text-size": 11,
+ "text-size": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 16,
+ 10,
+ 18,
+ 13
+ ],
"symbol-placement": "line",
+ "text-rotation-alignment": "map",
+ "text-pitch-alignment": "viewport",
+ "text-keep-upright": true,
+ "text-max-angle": 25,
+ "symbol-spacing": 300,
"text-letter-spacing": 0.04,
- "text-padding": 4,
+ "text-padding": 8,
"text-allow-overlap": false
},
"paint": {
"text-color": "#4A5568",
- "text-halo-color": "rgba(255,255,255,0.85)",
- "text-halo-width": 1.5
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 1.8
}
},
{
@@ -1238,7 +1442,7 @@
"motorway",
"trunk"
],
- "minzoom": 13,
+ "minzoom": 12,
"layout": {
"text-field": [
"coalesce",
@@ -1252,6 +1456,59 @@
],
""
],
+ "text-font": [
+ "Noto Sans Bold"
+ ],
+ "text-size": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 12,
+ 10,
+ 14,
+ 13,
+ 18,
+ 16
+ ],
+ "symbol-placement": "line",
+ "text-rotation-alignment": "map",
+ "text-pitch-alignment": "viewport",
+ "text-keep-upright": true,
+ "text-max-angle": 22,
+ "symbol-spacing": 350,
+ "text-letter-spacing": 0.05,
+ "text-padding": 12,
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#1A2332",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 2.5
+ }
+ },
+ {
+ "id": "overture-street-names",
+ "type": "symbol",
+ "source": "overture_segments",
+ "source-layer": "overture_segment",
+ "minzoom": 14,
+ "filter": [
+ "has",
+ "names"
+ ],
+ "layout": {
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "names"
+ ],
+ ""
+ ],
"text-font": [
"Noto Sans Regular"
],
@@ -1263,19 +1520,26 @@
[
"zoom"
],
- 13,
- 11,
+ 14,
+ 9,
16,
+ 12,
+ 18,
14
],
"symbol-placement": "line",
- "text-letter-spacing": 0.05,
- "text-padding": 5,
+ "text-rotation-alignment": "map",
+ "text-pitch-alignment": "viewport",
+ "text-keep-upright": true,
+ "text-max-angle": 28,
+ "symbol-spacing": 280,
+ "text-letter-spacing": 0.04,
+ "text-padding": 15,
"text-allow-overlap": false
},
"paint": {
- "text-color": "#2D3748",
- "text-halo-color": "rgba(255,255,255,0.9)",
+ "text-color": "#4A5568",
+ "text-halo-color": "rgba(255,255,255,0.93)",
"text-halo-width": 2
}
},
@@ -1291,8 +1555,8 @@
"hospital"
],
"layout": {
- "icon-image": "hospital",
- "icon-size": 1,
+ "icon-image": "hospital_11",
+ "icon-size": 1.0,
"text-field": [
"coalesce",
[
@@ -1318,23 +1582,34 @@
},
"paint": {
"text-color": "#C0392B",
- "text-halo-color": "white",
+ "text-halo-color": "rgba(255,255,255,0.93)",
"text-halo-width": 2
}
},
{
- "id": "poi-pharmacy",
+ "id": "poi-doctor-clinic",
"type": "symbol",
"source": "local-osm-points",
"source-layer": "planet_osm_point",
"minzoom": 15,
"filter": [
- "==",
+ "in",
"amenity",
- "pharmacy"
+ "clinic",
+ "doctors",
+ "dentist"
],
"layout": {
- "icon-image": "pharmacy",
+ "icon-image": [
+ "match",
+ [
+ "get",
+ "amenity"
+ ],
+ "dentist",
+ "dentist_11",
+ "doctor_11"
+ ],
"icon-size": 0.8,
"text-field": [
"coalesce",
@@ -1356,27 +1631,28 @@
0,
1.2
],
- "text-anchor": "top"
+ "text-anchor": "top",
+ "text-allow-overlap": false
},
"paint": {
- "text-color": "#1A7A3C",
- "text-halo-color": "white",
+ "text-color": "#C0392B",
+ "text-halo-color": "rgba(255,255,255,0.93)",
"text-halo-width": 1.5
}
},
{
- "id": "poi-place-of-worship",
+ "id": "poi-pharmacy",
"type": "symbol",
"source": "local-osm-points",
"source-layer": "planet_osm_point",
- "minzoom": 14,
+ "minzoom": 15,
"filter": [
"==",
"amenity",
- "place_of_worship"
+ "pharmacy"
],
"layout": {
- "icon-image": "tourist",
+ "icon-image": "pharmacy_11",
"icon-size": 0.8,
"text-field": [
"coalesce",
@@ -1398,37 +1674,40 @@
0,
1.2
],
- "text-anchor": "top"
+ "text-anchor": "top",
+ "text-allow-overlap": false
},
"paint": {
- "text-color": "#1A6B3A",
- "text-halo-color": "white",
+ "text-color": "#1A7A3C",
+ "text-halo-color": "rgba(255,255,255,0.93)",
"text-halo-width": 2
}
},
{
- "id": "poi-restaurant-cafe",
+ "id": "poi-place-of-worship",
"type": "symbol",
"source": "local-osm-points",
"source-layer": "planet_osm_point",
- "minzoom": 16,
+ "minzoom": 14,
"filter": [
- "in",
+ "==",
"amenity",
- "restaurant",
- "cafe",
- "fast_food"
+ "place_of_worship"
],
"layout": {
"icon-image": [
"match",
[
"get",
- "amenity"
+ "religion"
],
- "cafe",
- "cafe",
- "restaurant"
+ "muslim",
+ "religious_muslim_11",
+ "christian",
+ "religious_christian_11",
+ "jewish",
+ "religious_jewish_11",
+ "place_of_worship_11"
],
"icon-size": 0.8,
"text-field": [
@@ -1446,17 +1725,18 @@
"text-font": [
"Noto Sans Regular"
],
- "text-size": 10,
+ "text-size": 11,
"text-offset": [
0,
1.2
],
- "text-anchor": "top"
+ "text-anchor": "top",
+ "text-allow-overlap": false
},
"paint": {
- "text-color": "#3D4A5C",
- "text-halo-color": "white",
- "text-halo-width": 1.5
+ "text-color": "#1A6B3A",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 2
}
},
{
@@ -1473,7 +1753,16 @@
"college"
],
"layout": {
- "icon-image": "college",
+ "icon-image": [
+ "match",
+ [
+ "get",
+ "amenity"
+ ],
+ "school",
+ "school_11",
+ "college_11"
+ ],
"icon-size": 0.8,
"text-field": [
"coalesce",
@@ -1495,14 +1784,676 @@
0,
1.2
],
- "text-anchor": "top"
+ "text-anchor": "top",
+ "text-allow-overlap": false
},
"paint": {
"text-color": "#5A4A8A",
- "text-halo-color": "white",
+ "text-halo-color": "rgba(255,255,255,0.93)",
"text-halo-width": 2
}
},
+ {
+ "id": "poi-restaurant",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 15,
+ "filter": [
+ "in",
+ "amenity",
+ "restaurant",
+ "fast_food"
+ ],
+ "layout": {
+ "icon-image": [
+ "match",
+ [
+ "get",
+ "amenity"
+ ],
+ "fast_food",
+ "fast_food_11",
+ "restaurant_11"
+ ],
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#B8530A",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-cafe",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 15,
+ "filter": [
+ "==",
+ "amenity",
+ "cafe"
+ ],
+ "layout": {
+ "icon-image": "cafe_11",
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#7B4F2A",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-bakery",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 16,
+ "filter": [
+ "in",
+ "shop",
+ "bakery",
+ "pastry"
+ ],
+ "layout": {
+ "icon-image": "bakery_11",
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#8B6B3D",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-shopping",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 14,
+ "filter": [
+ "any",
+ [
+ "in",
+ "shop",
+ "mall",
+ "department_store",
+ "supermarket",
+ "clothes",
+ "shoes",
+ "jewelry",
+ "electronics",
+ "mobile_phone",
+ "furniture",
+ "convenience",
+ "general",
+ "variety_store"
+ ],
+ [
+ "in",
+ "amenity",
+ "marketplace"
+ ]
+ ],
+ "layout": {
+ "icon-image": [
+ "match",
+ [
+ "get",
+ "shop"
+ ],
+ "clothes",
+ "clothing_store_11",
+ "shoes",
+ "clothing_store_11",
+ "supermarket",
+ "grocery_11",
+ "convenience",
+ "grocery_11",
+ "shop_11"
+ ],
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#6A3D9A",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-fuel",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 14,
+ "filter": [
+ "==",
+ "amenity",
+ "fuel"
+ ],
+ "layout": {
+ "icon-image": "fuel_11",
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#2D6A4F",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-bank",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 15,
+ "filter": [
+ "in",
+ "amenity",
+ "bank",
+ "atm"
+ ],
+ "layout": {
+ "icon-image": "bank_11",
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#2C5282",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-police",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 14,
+ "filter": [
+ "==",
+ "amenity",
+ "police"
+ ],
+ "layout": {
+ "icon-image": "police_11",
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#2B6CB0",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-fire-station",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 14,
+ "filter": [
+ "==",
+ "amenity",
+ "fire_station"
+ ],
+ "layout": {
+ "icon-image": "fire_station_11",
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#E53E3E",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-hotel",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 14,
+ "filter": [
+ "in",
+ "tourism",
+ "hotel",
+ "motel",
+ "hostel",
+ "guest_house"
+ ],
+ "layout": {
+ "icon-image": "lodging_11",
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#744210",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-parking",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 16,
+ "filter": [
+ "==",
+ "amenity",
+ "parking"
+ ],
+ "layout": {
+ "icon-image": "car_11",
+ "icon-size": 0.7,
+ "text-field": "",
+ "text-optional": true
+ },
+ "paint": {
+ "icon-opacity": 0.7
+ }
+ },
+ {
+ "id": "poi-toilets",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 16,
+ "filter": [
+ "==",
+ "amenity",
+ "toilets"
+ ],
+ "layout": {
+ "icon-image": "toilet_11",
+ "icon-size": 0.7,
+ "text-field": "",
+ "text-optional": true
+ },
+ "paint": {
+ "icon-opacity": 0.7
+ }
+ },
+ {
+ "id": "poi-post-office",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 15,
+ "filter": [
+ "==",
+ "amenity",
+ "post_office"
+ ],
+ "layout": {
+ "icon-image": "post_11",
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#4A5568",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-library",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 15,
+ "filter": [
+ "==",
+ "amenity",
+ "library"
+ ],
+ "layout": {
+ "icon-image": "library_11",
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#4A5568",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-cinema",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 15,
+ "filter": [
+ "in",
+ "amenity",
+ "cinema",
+ "theatre"
+ ],
+ "layout": {
+ "icon-image": [
+ "match",
+ [
+ "get",
+ "amenity"
+ ],
+ "theatre",
+ "theatre_11",
+ "cinema_11"
+ ],
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#805AD5",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 1.5
+ }
+ },
+ {
+ "id": "poi-museum",
+ "type": "symbol",
+ "source": "local-osm-points",
+ "source-layer": "planet_osm_point",
+ "minzoom": 14,
+ "filter": [
+ "in",
+ "tourism",
+ "museum",
+ "gallery"
+ ],
+ "layout": {
+ "icon-image": "museum_11",
+ "icon-size": 0.8,
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name:ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Regular"
+ ],
+ "text-size": 10,
+ "text-offset": [
+ 0,
+ 1.2
+ ],
+ "text-anchor": "top",
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#6B4C3B",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 1.5
+ }
+ },
{
"id": "poi-transit-station",
"type": "symbol",
@@ -1538,7 +2489,7 @@
]
],
"layout": {
- "icon-image": "rail",
+ "icon-image": "railway_11",
"icon-size": 1,
"text-field": [
"coalesce",
@@ -1565,7 +2516,7 @@
},
"paint": {
"text-color": "#CC2233",
- "text-halo-color": "rgba(255,255,255,0.95)",
+ "text-halo-color": "rgba(255,255,255,0.93)",
"text-halo-width": 2
}
},
@@ -1609,12 +2560,11 @@
13
],
"text-padding": 8,
- "text-allow-overlap": false,
- "text-ignore-placement": false
+ "text-allow-overlap": false
},
"paint": {
"text-color": "#34495E",
- "text-halo-color": "rgba(255,255,255,0.85)",
+ "text-halo-color": "rgba(255,255,255,0.93)",
"text-halo-width": 2
}
},
@@ -1725,15 +2675,13 @@
"#1A2740",
"town",
"#2C3E50",
- "village",
- "#3D4F62",
"suburb",
- "#4A5568",
+ "#34495E",
"neighbourhood",
- "#556677",
- "#607080"
+ "#34495E",
+ "#34495E"
],
- "text-halo-color": "rgba(255,255,255,0.92)",
+ "text-halo-color": "rgba(255,255,255,0.93)",
"text-halo-width": [
"match",
[
@@ -1754,6 +2702,11 @@
"source": "places_egypt",
"source-layer": "places_egypt",
"minzoom": 12,
+ "filter": [
+ "!in",
+ "category",
+ "street"
+ ],
"layout": {
"text-field": [
"coalesce",
@@ -1793,7 +2746,115 @@
},
"paint": {
"text-color": "#2D3748",
- "text-halo-color": "rgba(255, 255, 255, 0.9)",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "places-syria-labels",
+ "type": "symbol",
+ "source": "places_syria",
+ "source-layer": "places_syria",
+ "minzoom": 10,
+ "filter": [
+ "!in",
+ "category",
+ "street"
+ ],
+ "layout": {
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name_ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Bold"
+ ],
+ "text-size": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 12,
+ 9,
+ 16,
+ 13
+ ],
+ "text-offset": [
+ 0,
+ 1.5
+ ],
+ "text-anchor": "top",
+ "text-padding": 8,
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#2D3748",
+ "text-halo-color": "rgba(255,255,255,0.93)",
+ "text-halo-width": 2
+ }
+ },
+ {
+ "id": "places-jordan-labels",
+ "type": "symbol",
+ "source": "places_jordan",
+ "source-layer": "places_jordan",
+ "minzoom": 10,
+ "filter": [
+ "!in",
+ "category",
+ "street"
+ ],
+ "layout": {
+ "text-field": [
+ "coalesce",
+ [
+ "get",
+ "name_ar"
+ ],
+ [
+ "get",
+ "name"
+ ],
+ ""
+ ],
+ "text-font": [
+ "Noto Sans Bold"
+ ],
+ "text-size": [
+ "interpolate",
+ [
+ "linear"
+ ],
+ [
+ "zoom"
+ ],
+ 12,
+ 9,
+ 16,
+ 13
+ ],
+ "text-offset": [
+ 0,
+ 1.5
+ ],
+ "text-anchor": "top",
+ "text-padding": 8,
+ "text-allow-overlap": false
+ },
+ "paint": {
+ "text-color": "#2D3748",
+ "text-halo-color": "rgba(255,255,255,0.93)",
"text-halo-width": 2
}
}
diff --git a/sync_to_server.sh b/sync_to_server.sh
index 884eba1..e5900e0 100755
--- a/sync_to_server.sh
+++ b/sync_to_server.sh
@@ -29,6 +29,8 @@ rsync -avz --progress -e "ssh -o StrictHostKeyChecking=no" $KEY_FLAG \
docker-compose.yml \
docker-compose.map2.yml \
setup_map2.sh \
+ style.json \
+ style-dark.json \
apps \
packages \
infrastructure \