update tile endpoints to the Martin host, refine map styling and snapping logic, and add geolocation-based map centering.

This commit is contained in:
Hamza-Ayed
2026-07-15 21:56:41 +03:00
parent 7a64be5833
commit 78fe6c48cc
9 changed files with 544 additions and 89 deletions
+256 -35
View File
@@ -59,13 +59,25 @@
},
"overture_buildings": {
"type": "vector",
"tiles": ["https://tiles.intaleqapp.com/overture_building/{z}/{x}/{y}"],
"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}"],
"tiles": [
"https://tiles.intaleqapp.com/overture_segment/{z}/{x}/{y}"
],
"maxzoom": 14
},
"approved_roads": {
"type": "vector",
"tiles": [
"http://188.68.36.205:3202/approved_roads/{z}/{x}/{y}"
],
"minzoom": 8,
"maxzoom": 18
}
},
"layers": [
@@ -599,7 +611,7 @@
"track",
"path",
"footway",
"cycleway",
"cycleway",
"steps"
],
"minzoom": 14,
@@ -687,6 +699,59 @@
]
}
},
{
"id": "approved-road-casing",
"type": "line",
"source": "approved_roads",
"source-layer": "approved_roads",
"layout": {
"line-cap": "round",
"line-join": "round"
},
"paint": {
"line-color": "#B9C2CE",
"line-width": [
"interpolate",
[
"linear"
],
[
"zoom"
],
12,
2.2,
16,
10
],
"line-opacity": 0.9
}
},
{
"id": "approved-road-core",
"type": "line",
"source": "approved_roads",
"source-layer": "approved_roads",
"layout": {
"line-cap": "round",
"line-join": "round"
},
"paint": {
"line-color": "#FFFFFF",
"line-width": [
"interpolate",
[
"linear"
],
[
"zoom"
],
12,
0.8,
16,
8
]
}
},
{
"id": "road-casing-tertiary",
"type": "line",
@@ -927,15 +992,44 @@
"minzoom": 15,
"filter": [
"all",
["in", "highway", "motorway", "trunk", "primary", "secondary", "tertiary", "residential", "unclassified", "living_street"],
["==", "oneway", "yes"]
[
"in",
"highway",
"motorway",
"trunk",
"primary",
"secondary",
"tertiary",
"residential",
"unclassified",
"living_street"
],
[
"==",
"oneway",
"yes"
]
],
"layout": {
"symbol-placement": "line",
"symbol-spacing": 80,
"text-field": "▸",
"text-font": ["Noto Sans Regular"],
"text-size": ["interpolate", ["linear"], ["zoom"], 15, 12, 18, 18],
"text-font": [
"Noto Sans Regular"
],
"text-size": [
"interpolate",
[
"linear"
],
[
"zoom"
],
15,
12,
18,
18
],
"text-keep-upright": false,
"text-rotation-alignment": "map",
"text-allow-overlap": true,
@@ -943,7 +1037,19 @@
"text-padding": 0
},
"paint": {
"text-color": ["interpolate", ["linear"], ["zoom"], 15, "rgba(100,116,139,0.4)", 18, "rgba(100,116,139,0.7)"],
"text-color": [
"interpolate",
[
"linear"
],
[
"zoom"
],
15,
"rgba(100,116,139,0.4)",
18,
"rgba(100,116,139,0.7)"
],
"text-halo-color": "rgba(255,255,255,0.3)",
"text-halo-width": 0.5
}
@@ -977,21 +1083,54 @@
"fill-extrusion-color": "#DDD8D0",
"fill-extrusion-height": [
"interpolate",
["linear"],
["zoom"],
[
"linear"
],
[
"zoom"
],
14,
[
"*",
["coalesce", ["to-number", ["get", "num_floors"], null], 3],
[
"coalesce",
[
"to-number",
[
"get",
"num_floors"
],
null
],
3
],
2.5
],
17,
[
"coalesce",
["to-number", ["get", "height"], null],
[
"to-number",
[
"get",
"height"
],
null
],
[
"*",
["coalesce", ["to-number", ["get", "num_floors"], null], 3],
[
"coalesce",
[
"to-number",
[
"get",
"num_floors"
],
null
],
3
],
3.5
],
12
@@ -1000,10 +1139,16 @@
"fill-extrusion-base": 0,
"fill-extrusion-opacity": [
"interpolate",
["linear"],
["zoom"],
14, 0.55,
16, 0.85
[
"linear"
],
[
"zoom"
],
14,
0.55,
16,
0.85
],
"fill-extrusion-vertical-gradient": true
}
@@ -1178,12 +1323,32 @@
"layout": {
"text-field": [
"coalesce",
["get", "name:ar"],
["get", "name"],
[
"get",
"name:ar"
],
[
"get",
"name"
],
""
],
"text-font": ["Noto Sans Regular"],
"text-size": ["interpolate", ["linear"], ["zoom"], 15, 10, 18, 13],
"text-font": [
"Noto Sans Regular"
],
"text-size": [
"interpolate",
[
"linear"
],
[
"zoom"
],
15,
10,
18,
13
],
"symbol-placement": "line",
"text-letter-spacing": 0.05,
"text-padding": 15,
@@ -1216,12 +1381,34 @@
"layout": {
"text-field": [
"coalesce",
["get", "name:ar"],
["get", "name"],
[
"get",
"name:ar"
],
[
"get",
"name"
],
""
],
"text-font": ["Noto Sans Bold"],
"text-size": ["interpolate", ["linear"], ["zoom"], 12, 10, 14, 13, 18, 16],
"text-font": [
"Noto Sans Bold"
],
"text-size": [
"interpolate",
[
"linear"
],
[
"zoom"
],
12,
10,
14,
13,
18,
16
],
"symbol-placement": "line",
"text-letter-spacing": 0.06,
"text-padding": 20,
@@ -1445,7 +1632,7 @@
""
],
"text-font": [
"Noto Sans Regular"
"Noto Sans Regular"
],
"text-size": 11,
"text-offset": [
@@ -1550,7 +1737,7 @@
""
],
"text-font": [
"Noto Sans Regular"
"Noto Sans Regular"
],
"text-size": [
"interpolate",
@@ -1730,7 +1917,7 @@
"text-size": [
"interpolate",
[
"linear"
"linear"
],
[
"zoom"
@@ -1760,7 +1947,11 @@
"source": "places_syria",
"source-layer": "places_syria",
"minzoom": 10,
"filter": ["!in", "category", "street"],
"filter": [
"!in",
"category",
"street"
],
"layout": {
"text-field": [
"coalesce",
@@ -1810,7 +2001,11 @@
"source": "places_jordan",
"source-layer": "places_jordan",
"minzoom": 10,
"filter": ["!in", "category", "street"],
"filter": [
"!in",
"category",
"street"
],
"layout": {
"text-field": [
"coalesce",
@@ -1905,11 +2100,37 @@
"source": "overture_segments",
"source-layer": "overture_segment",
"minzoom": 14,
"filter": ["has", "names"],
"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],
"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",
@@ -1928,4 +2149,4 @@
}
}
]
}
}