@minmaps-dev/mm-web-sdk 1.0.0-rc.33 → 1.0.0-rc.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -28,14 +28,6 @@
28
28
  "type": "geojson",
29
29
  "data": { "type": "FeatureCollection", "features": [] }
30
30
  },
31
- "accessibility-data": {
32
- "type": "geojson",
33
- "data": { "type": "FeatureCollection", "features": [] }
34
- },
35
- "unit-walls": {
36
- "type": "geojson",
37
- "data": { "type": "FeatureCollection", "features": [] }
38
- },
39
31
  "route-data": {
40
32
  "type": "geojson",
41
33
  "data": { "type": "FeatureCollection", "features": [] },
@@ -83,16 +75,63 @@
83
75
  "filter": [
84
76
  "in",
85
77
  ["get", "kind"],
86
- ["literal", ["park", "forest", "wood", "nature_reserve", "grass", "garden", "playground", "cemetery", "golf_course"]]
78
+ ["literal", ["park", "forest", "wood", "nature_reserve", "grass", "garden", "playground", "cemetery", "golf_course", "pitch", "recreation_ground", "village_green", "meadow", "scrub"]]
87
79
  ],
88
80
  "paint": {
89
- "fill-color": "#cbe0b6",
90
- "fill-opacity": [
91
- "interpolate",
92
- ["linear"],
93
- ["zoom"],
94
- 14, 0.95,
95
- 18, 0.8
81
+ "fill-color": "#cbe0b6"
82
+ }
83
+ },
84
+ {
85
+ "id": "basemap-landuse-coastal",
86
+ "type": "fill",
87
+ "source": "protomaps",
88
+ "source-layer": "landuse",
89
+ "filter": [
90
+ "in",
91
+ ["get", "kind"],
92
+ ["literal", ["beach", "sand", "wetland"]]
93
+ ],
94
+ "paint": {
95
+ "fill-color": [
96
+ "match",
97
+ ["get", "kind"],
98
+ ["beach", "sand"], "#e9ddba",
99
+ "wetland", "#cdd8bf",
100
+ "#e9ddba"
101
+ ]
102
+ }
103
+ },
104
+ {
105
+ "id": "basemap-landuse-builtup",
106
+ "type": "fill",
107
+ "source": "protomaps",
108
+ "source-layer": "landuse",
109
+ "filter": [
110
+ "in",
111
+ ["get", "kind"],
112
+ [
113
+ "literal",
114
+ [
115
+ "hospital", "clinic", "healthcare",
116
+ "university", "college", "school",
117
+ "parking",
118
+ "retail", "commercial",
119
+ "industrial", "railway",
120
+ "military"
121
+ ]
122
+ ]
123
+ ],
124
+ "paint": {
125
+ "fill-color": [
126
+ "match",
127
+ ["get", "kind"],
128
+ ["hospital", "clinic", "healthcare"], "#ecdcd8",
129
+ ["university", "college", "school"], "#e6ddc6",
130
+ "parking", "#dad7d0",
131
+ ["retail", "commercial"], "#ece2d2",
132
+ ["industrial", "railway"], "#ddd7cc",
133
+ "military", "#ddd7cc",
134
+ "#eae2d0"
96
135
  ]
97
136
  }
98
137
  },
@@ -106,63 +145,486 @@
106
145
  }
107
146
  },
108
147
  {
109
- "id": "basemap-roads-minor",
148
+ "id": "basemap-buildings",
149
+ "type": "fill",
150
+ "source": "protomaps",
151
+ "source-layer": "buildings",
152
+ "minzoom": 14,
153
+ "paint": {
154
+ "fill-color": "#d6cdb8",
155
+ "fill-outline-color": "#c3b89e",
156
+ "fill-opacity": [
157
+ "interpolate",
158
+ ["linear"],
159
+ ["zoom"],
160
+ 14, 0.0,
161
+ 15, 0.85,
162
+ 18, 0.92
163
+ ]
164
+ }
165
+ },
166
+ {
167
+ "id": "basemap-rail",
168
+ "type": "line",
169
+ "source": "protomaps",
170
+ "source-layer": "roads",
171
+ "minzoom": 13,
172
+ "filter": ["==", ["get", "kind"], "rail"],
173
+ "paint": {
174
+ "line-color": "#a8a29a",
175
+ "line-width": [
176
+ "interpolate",
177
+ ["linear"],
178
+ ["zoom"],
179
+ 13, 1.1,
180
+ 16, 2.2,
181
+ 19, 4
182
+ ],
183
+ "line-dasharray": [2, 2]
184
+ }
185
+ },
186
+ {
187
+ "id": "basemap-roads-tunnel",
110
188
  "type": "line",
111
189
  "source": "protomaps",
112
190
  "source-layer": "roads",
113
191
  "minzoom": 13,
114
192
  "filter": [
115
- "in",
116
- ["get", "kind"],
117
- ["literal", ["minor_road", "path", "service", "other"]]
193
+ "all",
194
+ ["to-boolean", ["get", "is_tunnel"]],
195
+ ["in", ["get", "kind"], ["literal", ["minor_road", "major_road", "medium_road", "highway", "path"]]]
118
196
  ],
119
197
  "paint": {
120
- "line-color": "#FFFFFF",
198
+ "line-color": "#e8e2d4",
199
+ "line-width": ["interpolate", ["linear"], ["zoom"], 13, 1.0, 16, 3.2, 19, 8],
200
+ "line-dasharray": [3, 2],
201
+ "line-opacity": 0.85
202
+ }
203
+ },
204
+ {
205
+ "id": "basemap-roads-minor-casing",
206
+ "type": "line",
207
+ "source": "protomaps",
208
+ "source-layer": "roads",
209
+ "minzoom": 13,
210
+ "filter": [
211
+ "all",
212
+ ["!", ["to-boolean", ["get", "is_tunnel"]]],
213
+ ["in", ["get", "kind"], ["literal", ["minor_road", "service", "other"]]],
214
+ ["!", ["in", ["get", "kind_detail"], ["literal", ["footway", "sidewalk", "path", "steps", "cycleway", "crossing", "track", "pier", "pedestrian"]]]]
215
+ ],
216
+ "layout": { "line-cap": "round", "line-join": "round" },
217
+ "paint": {
218
+ "line-color": "#d3cab4",
121
219
  "line-width": [
122
220
  "interpolate",
123
221
  ["linear"],
124
222
  ["zoom"],
125
- 13, 0.5,
126
- 16, 1.5,
127
- 19, 4
223
+ 13, ["*", 2.6, ["match", ["get", "kind_detail"], "service", 0.6, "residential", 1.0, "unclassified", 0.85, 0.8]],
224
+ 16, ["*", 6.8, ["match", ["get", "kind_detail"], "service", 0.6, "residential", 1.0, "unclassified", 0.85, 0.8]],
225
+ 19, ["*", 14, ["match", ["get", "kind_detail"], "service", 0.6, "residential", 1.0, "unclassified", 0.85, 0.8]]
226
+ ]
227
+ }
228
+ },
229
+ {
230
+ "id": "basemap-roads-minor",
231
+ "type": "line",
232
+ "source": "protomaps",
233
+ "source-layer": "roads",
234
+ "minzoom": 13,
235
+ "filter": [
236
+ "all",
237
+ ["!", ["to-boolean", ["get", "is_tunnel"]]],
238
+ ["in", ["get", "kind"], ["literal", ["minor_road", "path", "service", "other"]]]
239
+ ],
240
+ "layout": { "line-cap": "round", "line-join": "round" },
241
+ "paint": {
242
+ "line-color": [
243
+ "match",
244
+ ["get", "kind_detail"],
245
+ ["footway", "sidewalk", "path", "steps", "cycleway", "crossing", "track", "pier", "pedestrian"], "#ece8e0",
246
+ "service", "#f6f3ec",
247
+ "#FFFFFF"
128
248
  ],
129
- "line-opacity": [
249
+ "line-width": [
130
250
  "interpolate",
131
251
  ["linear"],
132
252
  ["zoom"],
133
- 14, 0.9,
134
- 18, 0.5
253
+ 13, ["*", 1.2, ["match", ["get", "kind_detail"], "service", 0.6, "residential", 1.0, "unclassified", 0.85, ["footway", "sidewalk", "path", "steps", "cycleway", "crossing", "track", "pier", "pedestrian"], 0.5, 0.8]],
254
+ 16, ["*", 4.0, ["match", ["get", "kind_detail"], "service", 0.6, "residential", 1.0, "unclassified", 0.85, ["footway", "sidewalk", "path", "steps", "cycleway", "crossing", "track", "pier", "pedestrian"], 0.5, 0.8]],
255
+ 19, ["*", 9.5, ["match", ["get", "kind_detail"], "service", 0.6, "residential", 1.0, "unclassified", 0.85, ["footway", "sidewalk", "path", "steps", "cycleway", "crossing", "track", "pier", "pedestrian"], 0.5, 0.8]]
135
256
  ]
136
257
  }
137
258
  },
138
259
  {
139
- "id": "basemap-roads-major",
260
+ "id": "basemap-roads-major-casing",
140
261
  "type": "line",
141
262
  "source": "protomaps",
142
263
  "source-layer": "roads",
143
264
  "minzoom": 10,
144
265
  "filter": [
145
- "in",
146
- ["get", "kind"],
147
- ["literal", ["highway", "major_road", "medium_road"]]
266
+ "all",
267
+ ["!", ["to-boolean", ["get", "is_tunnel"]]],
268
+ ["in", ["get", "kind"], ["literal", ["highway", "major_road", "medium_road"]]]
148
269
  ],
270
+ "layout": { "line-cap": "round", "line-join": "round" },
149
271
  "paint": {
150
- "line-color": "#ecc97e",
272
+ "line-color": [
273
+ "match",
274
+ ["get", "kind_detail"],
275
+ ["motorway", "trunk", "motorway_link", "trunk_link", "primary", "primary_link"], "#d79a2a",
276
+ "#e0bc72"
277
+ ],
151
278
  "line-width": [
152
279
  "interpolate",
153
280
  ["linear"],
154
281
  ["zoom"],
155
- 10, 0.5,
156
- 14, 1.5,
157
- 18, 6
282
+ 10, ["*", 2.0, ["match", ["get", "kind_detail"], ["motorway", "trunk"], 1.5, ["primary", "primary_link"], 1.3, ["secondary", "secondary_link"], 1.05, ["tertiary", "tertiary_link"], 0.85, 0.95]],
283
+ 14, ["*", 5.6, ["match", ["get", "kind_detail"], ["motorway", "trunk"], 1.5, ["primary", "primary_link"], 1.3, ["secondary", "secondary_link"], 1.05, ["tertiary", "tertiary_link"], 0.85, 0.95]],
284
+ 18, ["*", 15, ["match", ["get", "kind_detail"], ["motorway", "trunk"], 1.5, ["primary", "primary_link"], 1.3, ["secondary", "secondary_link"], 1.05, ["tertiary", "tertiary_link"], 0.85, 0.95]]
285
+ ]
286
+ }
287
+ },
288
+ {
289
+ "id": "basemap-roads-major",
290
+ "type": "line",
291
+ "source": "protomaps",
292
+ "source-layer": "roads",
293
+ "minzoom": 10,
294
+ "filter": [
295
+ "all",
296
+ ["!", ["to-boolean", ["get", "is_tunnel"]]],
297
+ ["in", ["get", "kind"], ["literal", ["highway", "major_road", "medium_road"]]]
298
+ ],
299
+ "layout": { "line-cap": "round", "line-join": "round" },
300
+ "paint": {
301
+ "line-color": [
302
+ "match",
303
+ ["get", "kind_detail"],
304
+ ["motorway", "trunk", "motorway_link", "trunk_link"], "#e8bf6a",
305
+ ["primary", "primary_link"], "#ecc97e",
306
+ "#efd699"
158
307
  ],
159
- "line-opacity": [
308
+ "line-width": [
309
+ "interpolate",
310
+ ["linear"],
311
+ ["zoom"],
312
+ 10, ["*", 1.0, ["match", ["get", "kind_detail"], ["motorway", "trunk"], 1.5, ["primary", "primary_link"], 1.3, ["secondary", "secondary_link"], 1.05, ["tertiary", "tertiary_link"], 0.85, 0.95]],
313
+ 14, ["*", 3.4, ["match", ["get", "kind_detail"], ["motorway", "trunk"], 1.5, ["primary", "primary_link"], 1.3, ["secondary", "secondary_link"], 1.05, ["tertiary", "tertiary_link"], 0.85, 0.95]],
314
+ 18, ["*", 11, ["match", ["get", "kind_detail"], ["motorway", "trunk"], 1.5, ["primary", "primary_link"], 1.3, ["secondary", "secondary_link"], 1.05, ["tertiary", "tertiary_link"], 0.85, 0.95]]
315
+ ]
316
+ }
317
+ },
318
+ {
319
+ "id": "basemap-roads-bridge-casing",
320
+ "type": "line",
321
+ "source": "protomaps",
322
+ "source-layer": "roads",
323
+ "minzoom": 13,
324
+ "filter": [
325
+ "all",
326
+ ["to-boolean", ["get", "is_bridge"]],
327
+ ["in", ["get", "kind"], ["literal", ["highway", "major_road", "medium_road"]]]
328
+ ],
329
+ "layout": { "line-cap": "butt" },
330
+ "paint": {
331
+ "line-color": "#b7ad97",
332
+ "line-gap-width": [
333
+ "interpolate",
334
+ ["linear"],
335
+ ["zoom"],
336
+ 10, ["*", 1.0, ["match", ["get", "kind_detail"], ["motorway", "trunk"], 1.5, ["primary", "primary_link"], 1.3, ["secondary", "secondary_link"], 1.05, ["tertiary", "tertiary_link"], 0.85, 0.95]],
337
+ 14, ["*", 3.4, ["match", ["get", "kind_detail"], ["motorway", "trunk"], 1.5, ["primary", "primary_link"], 1.3, ["secondary", "secondary_link"], 1.05, ["tertiary", "tertiary_link"], 0.85, 0.95]],
338
+ 18, ["*", 11, ["match", ["get", "kind_detail"], ["motorway", "trunk"], 1.5, ["primary", "primary_link"], 1.3, ["secondary", "secondary_link"], 1.05, ["tertiary", "tertiary_link"], 0.85, 0.95]]
339
+ ],
340
+ "line-width": ["interpolate", ["linear"], ["zoom"], 13, 0.9, 16, 1.5, 19, 2.4]
341
+ }
342
+ },
343
+
344
+ {
345
+ "id": "basemap-road-shields",
346
+ "type": "symbol",
347
+ "source": "protomaps",
348
+ "source-layer": "roads",
349
+ "minzoom": 13,
350
+ "filter": [
351
+ "all",
352
+ ["!", ["to-boolean", ["get", "is_tunnel"]]],
353
+ ["any", ["has", "shield_text"], ["has", "ref"]]
354
+ ],
355
+ "layout": {
356
+ "symbol-placement": "line",
357
+ "symbol-spacing": 240,
358
+ "symbol-sort-key": 5,
359
+ "icon-image": [
360
+ "concat",
361
+ "mm-shield:",
362
+ [
363
+ "let",
364
+ "st", ["upcase", ["coalesce", ["get", "shield_text"], ["get", "ref"], ""]],
365
+ [
366
+ "case",
367
+ ["any",
368
+ ["==", ["get", "network"], "US:I"],
369
+ ["all",
370
+ ["==", ["slice", ["var", "st"], 0, 1], "I"],
371
+ ["in", ["slice", ["var", "st"], 1, 2], "0123456789"]
372
+ ]
373
+ ], "i",
374
+ ["==", ["get", "network"], "US:US"], "us",
375
+ ["==", ["slice", ["var", "st"], 0, 2], "US"], "us",
376
+ ["==", ["slice", ["var", "st"], 0, 2], "CR"], "cr",
377
+ "st"
378
+ ]
379
+ ],
380
+ ":",
381
+ [
382
+ "let",
383
+ "n", [
384
+ "let",
385
+ "rf", ["upcase", ["coalesce", ["get", "ref"], ["get", "shield_text"], ""]],
386
+ [
387
+ "case",
388
+ [">=", ["index-of", " ", ["var", "rf"]], 0],
389
+ ["slice", ["var", "rf"], ["+", ["index-of", " ", ["var", "rf"]], 1]],
390
+ ["var", "rf"]
391
+ ]
392
+ ],
393
+ [
394
+ "case",
395
+ [">=", ["index-of", ";", ["var", "n"]], 0],
396
+ ["slice", ["var", "n"], 0, ["index-of", ";", ["var", "n"]]],
397
+ ["var", "n"]
398
+ ]
399
+ ]
400
+ ],
401
+ "icon-size": ["interpolate", ["linear"], ["zoom"], 13, 0.72, 16, 0.88, 19, 1.0],
402
+ "icon-rotation-alignment": "viewport",
403
+ "icon-pitch-alignment": "viewport",
404
+ "icon-allow-overlap": false,
405
+ "icon-padding": 4
406
+ }
407
+ },
408
+
409
+ {
410
+ "id": "basemap-street-labels",
411
+ "type": "symbol",
412
+ "source": "protomaps",
413
+ "source-layer": "roads",
414
+ "minzoom": 13,
415
+ "filter": [
416
+ "all",
417
+ ["has", "name"],
418
+ [
419
+ "in",
420
+ ["get", "kind"],
421
+ ["literal", ["highway", "major_road", "medium_road", "minor_road"]]
422
+ ]
423
+ ],
424
+ "layout": {
425
+ "symbol-placement": "line",
426
+ "symbol-spacing": 330,
427
+ "text-field": ["coalesce", ["get", "name:en"], ["get", "name"]],
428
+ "text-font": [
429
+ "match",
430
+ ["get", "kind"],
431
+ ["highway", "major_road"], ["literal", ["Noto Sans Bold"]],
432
+ ["literal", ["Noto Sans Regular"]]
433
+ ],
434
+ "text-size": [
160
435
  "interpolate",
161
436
  ["linear"],
162
437
  ["zoom"],
163
- 14, 0.9,
164
- 18, 0.5
438
+ 13, ["*", 10.5, ["match", ["get", "kind"], "highway", 1.12, "major_road", 1.06, "minor_road", 0.94, 1.0]],
439
+ 16, ["*", 13.0, ["match", ["get", "kind"], "highway", 1.12, "major_road", 1.06, "minor_road", 0.94, 1.0]],
440
+ 19, ["*", 16.0, ["match", ["get", "kind"], "highway", 1.12, "major_road", 1.06, "minor_road", 0.94, 1.0]]
441
+ ],
442
+ "text-letter-spacing": 0.04,
443
+ "text-max-angle": 40,
444
+ "text-padding": 3,
445
+ "text-rotation-alignment": "map",
446
+ "text-pitch-alignment": "viewport",
447
+ "symbol-sort-key": [
448
+ "match",
449
+ ["get", "kind"],
450
+ "highway", 0,
451
+ "major_road", 1,
452
+ "medium_road", 2,
453
+ "minor_road", 3,
454
+ 4
455
+ ]
456
+ },
457
+ "paint": {
458
+ "text-color": [
459
+ "match",
460
+ ["get", "kind"],
461
+ ["highway", "major_road"], "#463f32",
462
+ "#5b5346"
463
+ ],
464
+ "text-halo-color": "#fffffe",
465
+ "text-halo-width": 1.9,
466
+ "text-halo-blur": 0.3
467
+ }
468
+ },
469
+
470
+ {
471
+ "id": "basemap-poi-marine",
472
+ "type": "symbol",
473
+ "source": "protomaps",
474
+ "source-layer": "pois",
475
+ "minzoom": 13,
476
+ "filter": [
477
+ "in",
478
+ ["get", "kind"],
479
+ ["literal", ["marina", "ferry_terminal", "ferry", "ferry_stop"]]
480
+ ],
481
+ "layout": {
482
+ "symbol-sort-key": 20,
483
+ "icon-image": [
484
+ "match",
485
+ ["get", "kind"],
486
+ "marina", "basemap-poi-anchor",
487
+ ["ferry_terminal", "ferry", "ferry_stop"], "basemap-poi-directions_boat",
488
+ "basemap-poi-anchor"
489
+ ],
490
+ "icon-size": ["interpolate", ["linear"], ["zoom"], 13, 0.5, 16, 0.68, 19, 0.82],
491
+ "icon-allow-overlap": false,
492
+ "icon-optional": false,
493
+ "icon-padding": 4,
494
+ "icon-rotation-alignment": "viewport",
495
+ "icon-pitch-alignment": "viewport",
496
+ "text-field": ["coalesce", ["get", "name:en"], ["get", "name"]],
497
+ "text-font": ["Noto Sans Bold"],
498
+ "text-size": ["interpolate", ["linear"], ["zoom"], 15.5, 0, 16.5, 11.5, 19, 13.5],
499
+ "text-offset": [0, 1.8],
500
+ "text-anchor": "top",
501
+ "text-optional": true,
502
+ "text-padding": 4,
503
+ "text-rotation-alignment": "viewport"
504
+ },
505
+ "paint": {
506
+ "text-color": "#4a5560",
507
+ "text-halo-color": "#fffffe",
508
+ "text-halo-width": 1.9,
509
+ "text-halo-blur": 0.3
510
+ }
511
+ },
512
+ {
513
+ "id": "basemap-poi-civic",
514
+ "type": "symbol",
515
+ "source": "protomaps",
516
+ "source-layer": "pois",
517
+ "minzoom": 13,
518
+ "filter": [
519
+ "in",
520
+ ["get", "kind"],
521
+ ["literal", ["place_of_worship", "fire_station", "post_office", "library", "townhall", "school"]]
522
+ ],
523
+ "layout": {
524
+ "symbol-sort-key": 25,
525
+ "icon-image": [
526
+ "match",
527
+ ["get", "kind"],
528
+ "place_of_worship", [
529
+ "match",
530
+ ["get", "kind_detail"],
531
+ "christian", "basemap-poi-church",
532
+ "jewish", "basemap-poi-synagogue",
533
+ "muslim", "basemap-poi-mosque",
534
+ "buddhist", "basemap-poi-temple_buddhist",
535
+ "hindu", "basemap-poi-temple_hindu",
536
+ "basemap-poi-church"
537
+ ],
538
+ "fire_station", "basemap-poi-local_fire_department",
539
+ "post_office", "basemap-poi-local_post_office",
540
+ "library", "basemap-poi-local_library",
541
+ "townhall", "basemap-poi-account_balance",
542
+ "school", "basemap-poi-school",
543
+ "hospital", "basemap-poi-local_hospital",
544
+ "basemap-poi-account_balance"
545
+ ],
546
+ "icon-size": ["interpolate", ["linear"], ["zoom"], 13, 0.5, 16, 0.68, 19, 0.82],
547
+ "icon-allow-overlap": false,
548
+ "icon-optional": false,
549
+ "icon-padding": 4,
550
+ "icon-rotation-alignment": "viewport",
551
+ "icon-pitch-alignment": "viewport",
552
+ "text-field": ["coalesce", ["get", "name:en"], ["get", "name"]],
553
+ "text-font": ["Noto Sans Bold"],
554
+ "text-size": ["interpolate", ["linear"], ["zoom"], 15.5, 0, 16.5, 11.5, 19, 13.5],
555
+ "text-offset": [0, 1.8],
556
+ "text-anchor": "top",
557
+ "text-optional": true,
558
+ "text-padding": 4,
559
+ "text-rotation-alignment": "viewport"
560
+ },
561
+ "paint": {
562
+ "text-color": "#4a5560",
563
+ "text-halo-color": "#fffffe",
564
+ "text-halo-width": 1.9,
565
+ "text-halo-blur": 0.3
566
+ }
567
+ },
568
+ {
569
+ "id": "basemap-park-labels",
570
+ "type": "symbol",
571
+ "source": "protomaps",
572
+ "source-layer": "pois",
573
+ "minzoom": 12,
574
+ "filter": [
575
+ "all",
576
+ ["has", "name"],
577
+ [
578
+ "in",
579
+ ["get", "kind"],
580
+ ["literal", ["park", "nature_reserve", "garden", "recreation_ground", "dog_park", "golf_course", "protected_area"]]
165
581
  ]
582
+ ],
583
+ "layout": {
584
+ "symbol-sort-key": 30,
585
+ "text-field": ["coalesce", ["get", "name:en"], ["get", "name"]],
586
+ "text-font": ["Noto Sans Bold"],
587
+ "text-size": ["interpolate", ["linear"], ["zoom"], 12, 11, 15, 13.5, 18, 16],
588
+ "text-max-width": 8,
589
+ "text-letter-spacing": 0.03,
590
+ "text-padding": 4,
591
+ "text-anchor": "center",
592
+ "text-rotation-alignment": "viewport",
593
+ "text-pitch-alignment": "viewport",
594
+ "text-optional": true
595
+ },
596
+ "paint": {
597
+ "text-color": "#3d6b2f",
598
+ "text-halo-color": "#fffffe",
599
+ "text-halo-width": 1.9,
600
+ "text-halo-blur": 0.3
601
+ }
602
+ },
603
+ {
604
+ "id": "basemap-water-labels",
605
+ "type": "symbol",
606
+ "source": "protomaps",
607
+ "source-layer": "water",
608
+ "minzoom": 12,
609
+ "filter": ["has", "name"],
610
+ "layout": {
611
+ "symbol-sort-key": 28,
612
+ "text-field": ["coalesce", ["get", "name:en"], ["get", "name"]],
613
+ "text-font": ["Noto Sans Italic"],
614
+ "text-size": ["interpolate", ["linear"], ["zoom"], 12, 11, 15, 13, 18, 15],
615
+ "text-max-width": 8,
616
+ "text-letter-spacing": 0.04,
617
+ "text-padding": 4,
618
+ "text-anchor": "center",
619
+ "text-rotation-alignment": "viewport",
620
+ "text-pitch-alignment": "viewport",
621
+ "text-optional": true
622
+ },
623
+ "paint": {
624
+ "text-color": "#4a7396",
625
+ "text-halo-color": "#fffffe",
626
+ "text-halo-width": 1.7,
627
+ "text-halo-blur": 0.3
166
628
  }
167
629
  },
168
630
 
@@ -173,19 +635,19 @@
173
635
  "minzoom": 16.5,
174
636
  "filter": ["==", ["get", "featureType"], "Pattern-Water"],
175
637
  "paint": {
176
- "fill-color": "#cfe1ec",
177
- "fill-opacity": 0.6
638
+ "fill-color": "#cfe1ec"
639
+
178
640
  }
179
641
  },
180
642
  {
181
643
  "id": "pattern-grass",
182
644
  "type": "fill",
183
645
  "source": "indoor-data",
184
- "minzoom": 16.5,
646
+
185
647
  "filter": ["==", ["get", "featureType"], "Pattern-Grass"],
186
648
  "paint": {
187
- "fill-color": "#d2e0c6",
188
- "fill-opacity": 0.5
649
+ "fill-color": "#B6D0AE",
650
+ "fill-opacity": 1
189
651
  }
190
652
  },
191
653
  {
@@ -195,8 +657,8 @@
195
657
  "minzoom": 16.5,
196
658
  "filter": ["==", ["get", "featureType"], "Pattern-Trees"],
197
659
  "paint": {
198
- "fill-color": "#cdd9c9",
199
- "fill-opacity": 0.4
660
+ "fill-color": "#7D9F64",
661
+ "fill-opacity": 0.8
200
662
  }
201
663
  },
202
664
  {
@@ -206,8 +668,7 @@
206
668
  "minzoom": 16.5,
207
669
  "filter": ["==", ["get", "featureType"], "Pattern-Pavement"],
208
670
  "paint": {
209
- "fill-color": "#E0E0E0",
210
- "fill-opacity": 0.6
671
+ "fill-color": "#9E9E9E"
211
672
  }
212
673
  },
213
674
 
@@ -227,10 +688,10 @@
227
688
  "id": "parking-lots",
228
689
  "type": "fill",
229
690
  "source": "indoor-data",
230
- "minzoom": 16.5,
691
+
231
692
  "filter": ["==", ["get", "featureType"], "Parking-Lots"],
232
693
  "paint": {
233
- "fill-color": "#e0e0dd",
694
+ "fill-color": "#adadad",
234
695
  "fill-opacity": 0.5
235
696
  }
236
697
  },
@@ -254,7 +715,7 @@
254
715
  "minzoom": 16.5,
255
716
  "filter": ["==", ["get", "featureType"], "Boundary"],
256
717
  "paint": {
257
- "fill-color": "#edeef1",
718
+ "fill-color": "#162e51",
258
719
  "fill-opacity": 1
259
720
  }
260
721
  },
@@ -270,8 +731,8 @@
270
731
  "interpolate",
271
732
  ["linear"],
272
733
  ["zoom"],
273
- 15.8, 0,
274
- 16.5, 1
734
+ 15.8, 1,
735
+ 16.5, 0
275
736
  ]
276
737
  }
277
738
  },
@@ -286,33 +747,10 @@
286
747
  ["==", ["get", "featureType"], "Corridor"]
287
748
  ],
288
749
  "paint": {
289
- "fill-color": "#d7dade"
750
+ "fill-color": "#f0f0f0"
290
751
  }
291
752
  },
292
753
 
293
- {
294
- "id": "accessible-routes",
295
- "type": "line",
296
- "source": "accessibility-data",
297
- "minzoom": 16.5,
298
- "filter": ["==", ["get", "accessible"], true],
299
- "paint": {
300
- "line-color": "#2E7D32",
301
- "line-width": [
302
- "interpolate",
303
- ["linear"],
304
- ["zoom"],
305
- 15,
306
- 2,
307
- 18,
308
- 3,
309
- 20,
310
- 4
311
- ],
312
- "line-dasharray": [0.5, 1],
313
- "line-opacity": 0.7
314
- }
315
- },
316
754
 
317
755
  {
318
756
  "id": "units-fill",
@@ -348,7 +786,7 @@
348
786
  "line-cap": "round"
349
787
  },
350
788
  "paint": {
351
- "line-color": "#162e51",
789
+ "line-color": "#ffffff",
352
790
  "line-opacity": 0.9,
353
791
  "line-width": ["interpolate", ["linear"], ["zoom"], 16, 0.8, 18, 1.4, 20, 2.2]
354
792
  }
@@ -365,18 +803,6 @@
365
803
  }
366
804
  },
367
805
 
368
- {
369
- "id": "backofhouse-pattern",
370
- "type": "line",
371
- "source": "indoor-data",
372
- "minzoom": 16.5,
373
- "filter": ["==", ["get", "featureType"], "Back-of-house"],
374
- "paint": {
375
- "line-color": "#c4c4c4",
376
- "line-width": 0.5,
377
- "line-opacity": 0.4
378
- }
379
- },
380
806
  {
381
807
  "id": "backofhouse-outline-2d",
382
808
  "type": "line",
@@ -426,7 +852,7 @@
426
852
  "line-cap": "round"
427
853
  },
428
854
  "paint": {
429
- "line-color": "#3f5d4a",
855
+ "line-color": "#ffffff",
430
856
  "line-width": [
431
857
  "interpolate",
432
858
  ["linear"],
@@ -449,8 +875,8 @@
449
875
  "minzoom": 16.5,
450
876
  "filter": ["==", ["get", "featureType"], "Obstacles"],
451
877
  "paint": {
452
- "fill-color": "#E8E9ED",
453
- "fill-opacity": 0.85
878
+ "fill-color": "#e8e9ed",
879
+ "fill-opacity": 1
454
880
  }
455
881
  },
456
882
  {
@@ -464,7 +890,7 @@
464
890
  "line-cap": "round"
465
891
  },
466
892
  "paint": {
467
- "line-color": "#B0B1B5",
893
+ "line-color": "#98999D",
468
894
  "line-width": [
469
895
  "interpolate",
470
896
  ["linear"],
@@ -476,7 +902,7 @@
476
902
  20,
477
903
  1.2
478
904
  ],
479
- "line-opacity": 0.9
905
+ "line-opacity": 1
480
906
  }
481
907
  },
482
908
 
@@ -491,7 +917,7 @@
491
917
  ["literal", ["Escalators", "Stairs", "Elevators"]]
492
918
  ],
493
919
  "paint": {
494
- "fill-color": "#a9aeb1",
920
+ "fill-color": "#112f4e",
495
921
  "fill-opacity": 1
496
922
  }
497
923
  },
@@ -510,7 +936,7 @@
510
936
  "line-cap": "round"
511
937
  },
512
938
  "paint": {
513
- "line-color": "#6f7780",
939
+ "line-color": "#162e51",
514
940
  "line-width": [
515
941
  "interpolate",
516
942
  ["linear"],
@@ -526,21 +952,6 @@
526
952
  }
527
953
  },
528
954
 
529
- {
530
- "id": "exits-doors",
531
- "type": "fill",
532
- "source": "indoor-data",
533
- "minzoom": 16.5,
534
- "filter": [
535
- "in",
536
- ["get", "featureType"],
537
- ["literal", ["Exits", "Doors", "Exit", "Door"]]
538
- ],
539
- "paint": {
540
- "fill-color": "#cdd9c9",
541
- "fill-opacity": 0.6
542
- }
543
- },
544
955
 
545
956
  {
546
957
  "id": "kiosks-fill",
@@ -571,7 +982,7 @@
571
982
  "type": "fill",
572
983
  "source": "indoor-data",
573
984
  "minzoom": 16.5,
574
- "filter": ["==", ["get", "featureType"], "Pattern-IndoorFoodcourt"],
985
+ "filter": ["==", ["get", "featureType"], "Pattern-Indoor-FoodCourt-Seating"],
575
986
  "paint": {
576
987
  "fill-color": "#f3e4c4",
577
988
  "fill-opacity": 0.6
@@ -589,7 +1000,7 @@
589
1000
  ["==", ["get", "featureType"], "Corridor"]
590
1001
  ],
591
1002
  "paint": {
592
- "line-color": "#c6cace",
1003
+ "line-color": "#343a40",
593
1004
  "line-width": [
594
1005
  "interpolate",
595
1006
  ["linear"],
@@ -649,7 +1060,7 @@
649
1060
  "line-cap": "round"
650
1061
  },
651
1062
  "paint": {
652
- "line-color": "#c8a85a",
1063
+ "line-color": "#162e51",
653
1064
  "line-width": [
654
1065
  "interpolate",
655
1066
  ["linear"],
@@ -751,13 +1162,13 @@
751
1162
  }
752
1163
  },
753
1164
  {
754
- "id": "unit-highlight-block",
755
- "type": "fill-extrusion",
1165
+ "id": "unit-highlight-fill",
1166
+ "type": "fill",
756
1167
  "source": "poi-highlight-data",
757
1168
  "minzoom": 16.5,
758
1169
  "filter": ["==", ["geometry-type"], "Polygon"],
759
1170
  "paint": {
760
- "fill-extrusion-color": [
1171
+ "fill-color": [
761
1172
  "coalesce",
762
1173
  ["get", "zoneColor"],
763
1174
  [
@@ -777,77 +1188,54 @@
777
1188
  "#005ea2"
778
1189
  ]
779
1190
  ],
780
- "fill-extrusion-color-transition": { "duration": 350 },
781
- "fill-extrusion-height": [
1191
+ "fill-color-transition": { "duration": 350 },
1192
+ "fill-opacity": [
782
1193
  "interpolate",
783
1194
  ["linear"],
784
1195
  ["zoom"],
785
- 16.5, 0,
786
- 18, 2.6
787
- ],
788
- "fill-extrusion-base": 0,
789
- "fill-extrusion-vertical-gradient": true,
790
- "fill-extrusion-opacity": 1
1196
+ 15,
1197
+ 0.85,
1198
+ 17,
1199
+ 0.92,
1200
+ 19,
1201
+ 0.95
1202
+ ]
791
1203
  }
792
1204
  },
793
-
794
1205
  {
795
- "id": "units-wall-extrusion",
1206
+ "id": "unit-highlight-block",
796
1207
  "type": "fill-extrusion",
797
- "source": "unit-walls",
1208
+ "source": "poi-highlight-data",
798
1209
  "minzoom": 16.5,
799
- "filter": [
800
- "all",
801
- ["==", ["get", "featureType"], "UnitWalls"],
802
- ["!", ["has", "custom_height"]]
803
- ],
804
- "layout": {
805
- "visibility": "none"
806
- },
1210
+ "filter": ["==", ["geometry-type"], "Polygon"],
807
1211
  "paint": {
808
- "fill-extrusion-color": "#e6e9ee",
809
- "fill-extrusion-height": [
810
- "interpolate",
811
- ["linear"],
812
- ["zoom"],
813
- 15.5,
814
- 0,
815
- 16.5,
816
- ["case", ["==", ["get", "wallKind"], "interior"], 0.5, 1],
817
- 17.5,
818
- ["case", ["==", ["get", "wallKind"], "interior"], 0.7, 1.4],
819
- 18.2,
820
- ["case", ["==", ["get", "wallKind"], "interior"], 0.9, 1.6]
1212
+ "fill-extrusion-color": [
1213
+ "coalesce",
1214
+ ["get", "zoneColor"],
1215
+ [
1216
+ "match",
1217
+ ["get", "category"],
1218
+ "healthcare", "#73b3e7",
1219
+ "surgical", "#73b3e7",
1220
+ "waiting", "#73b3e7",
1221
+ "diagnostic", "#97d4ea",
1222
+ "amenities", "#97d4ea",
1223
+ "emergency", "#f2938c",
1224
+ "retail", "#fee685",
1225
+ "fnb", "#fee685",
1226
+ "admin", "#dfe1e2",
1227
+ "staff", "#dfe1e2",
1228
+ "security", "#dfe1e2",
1229
+ "#005ea2"
1230
+ ]
821
1231
  ],
822
- "fill-extrusion-base": 0,
823
- "fill-extrusion-vertical-gradient": true,
824
- "fill-extrusion-opacity": 1
825
- }
826
- },
827
-
828
- {
829
- "id": "units-wall-custom-extrusion",
830
- "type": "fill-extrusion",
831
- "source": "unit-walls",
832
- "minzoom": 16.5,
833
- "filter": ["has", "custom_height"],
834
- "layout": {
835
- "visibility": "none"
836
- },
837
- "paint": {
838
- "fill-extrusion-color": "#e6e9ee",
1232
+ "fill-extrusion-color-transition": { "duration": 350 },
839
1233
  "fill-extrusion-height": [
840
1234
  "interpolate",
841
1235
  ["linear"],
842
1236
  ["zoom"],
843
- 15.5,
844
- 0,
845
- 16.5,
846
- 1,
847
- 17.5,
848
- 1.4,
849
- 18.2,
850
- 1.6
1237
+ 16.5, 0,
1238
+ 18, 2.6
851
1239
  ],
852
1240
  "fill-extrusion-base": 0,
853
1241
  "fill-extrusion-vertical-gradient": true,
@@ -855,26 +1243,8 @@
855
1243
  }
856
1244
  },
857
1245
 
858
- {
859
- "id": "corridors-extrusion",
860
- "type": "fill-extrusion",
861
- "source": "indoor-data",
862
- "minzoom": 16.5,
863
- "filter": [
864
- "any",
865
- ["==", ["get", "featureType"], "Corridors"],
866
- ["==", ["get", "featureType"], "Corridor"]
867
- ],
868
- "layout": {
869
- "visibility": "none"
870
- },
871
- "paint": {
872
- "fill-extrusion-color": "#FFF8E1",
873
- "fill-extrusion-height": ["step", ["zoom"], 0, 18, 3.2],
874
- "fill-extrusion-base": 0,
875
- "fill-extrusion-opacity": ["step", ["zoom"], 0, 18, 0.85]
876
- }
877
- },
1246
+
1247
+
878
1248
 
879
1249
  {
880
1250
  "id": "backofhouse-extrusion",
@@ -1170,69 +1540,152 @@
1170
1540
  "circle-opacity": 1
1171
1541
  }
1172
1542
  },
1543
+
1544
+ {
1545
+ "id": "map-labels",
1546
+ "type": "symbol",
1547
+ "source": "map-labels-data",
1548
+ "minzoom": 15.5,
1549
+ "filter": ["!", ["in", "Building", ["get", "name"]]],
1550
+ "layout": {
1551
+ "symbol-sort-key": 10,
1552
+ "text-field": ["get", "name"],
1553
+ "text-size": [
1554
+ "interpolate", ["linear"], ["zoom"],
1555
+ 15.5, 12,
1556
+ 16.5, 15,
1557
+ 18, 18,
1558
+ 20, 20
1559
+ ],
1560
+ "text-font": ["Noto Sans Bold"],
1561
+ "text-letter-spacing": 0.04,
1562
+ "text-max-width": 10,
1563
+ "text-anchor": "center",
1564
+ "text-rotate": ["get", "rotation"],
1565
+ "text-rotation-alignment": "viewport",
1566
+ "text-allow-overlap": false,
1567
+ "text-padding": 4
1568
+ },
1569
+ "paint": {
1570
+ "text-color": "#3d4551",
1571
+ "text-halo-color": "#FFFFFF",
1572
+ "text-halo-width": 1.4,
1573
+ "text-halo-blur": 0.5
1574
+ }
1575
+ },
1576
+ {
1577
+ "id": "map-labels-buildings",
1578
+ "type": "symbol",
1579
+ "source": "map-labels-data",
1580
+ "minzoom": 15.5,
1581
+ "filter": [
1582
+ "all",
1583
+ ["in", "Building", ["get", "name"]]
1584
+ ],
1585
+ "layout": {
1586
+ "symbol-sort-key": 10,
1587
+ "icon-image": "map-label-bg",
1588
+ "icon-text-fit": "both",
1589
+ "icon-text-fit-padding": [2, 2, 2, 2],
1590
+ "icon-allow-overlap": false,
1591
+ "icon-ignore-placement": false,
1592
+ "text-field": [
1593
+ "format",
1594
+ "\uea40", {"text-font": ["literal", ["Material Icons"]]},
1595
+
1596
+ ["slice", ["get", "name"], 8, 10], {}
1597
+ ],
1598
+ "text-size": [
1599
+ "interpolate", ["linear"], ["zoom"],
1600
+ 15.5, 14,
1601
+ 16.5, 16,
1602
+ 18, 18,
1603
+ 20, 20
1604
+ ],
1605
+ "text-font": ["Noto Sans Bold"],
1606
+ "text-letter-spacing": 0.04,
1607
+ "text-max-width": 10,
1608
+ "text-anchor": "center",
1609
+
1610
+ "text-rotation-alignment": "viewport",
1611
+ "text-allow-overlap": false,
1612
+ "text-padding": 4
1613
+ },
1614
+ "paint": {
1615
+ "text-color": "#fffffe"
1616
+ }
1617
+ },
1618
+
1173
1619
  {
1174
- "id": "poi-accessibility-icons",
1620
+ "id": "poi-entrance-exit-icons",
1175
1621
  "type": "symbol",
1176
1622
  "source": "poi-data",
1177
- "filter": ["==", ["get", "accessible"], true],
1178
- "minzoom": 16.5,
1623
+ "filter": ["==", ["get", "amenityCategory"], "entrance"],
1624
+ "minzoom": 15,
1179
1625
  "layout": {
1180
- "icon-image": "wheelchair-accessible",
1626
+ "symbol-sort-key": ["get", "rank"],
1627
+ "icon-image": ["get", "iconId"],
1181
1628
  "icon-size": [
1182
1629
  "interpolate", ["exponential", 1.3], ["zoom"],
1183
- 14, 0.28,
1184
- 16, 0.4,
1185
- 18, 0.58,
1186
- 20, 0.85,
1187
- 22, 1.2
1630
+ 14, 0.18,
1631
+ 16, 0.3,
1632
+ 18, 0.48,
1633
+ 20, 0.5,
1634
+ 22, 0.85
1188
1635
  ],
1189
1636
  "icon-allow-overlap": false,
1190
1637
  "icon-padding": [
1191
1638
  "interpolate", ["linear"], ["zoom"],
1192
- 15, 8,
1193
- 17, 4,
1194
- 19, 2
1195
- ]
1196
- }
1197
- },
1639
+ 15, 6,
1640
+ 17, 2,
1641
+ 19, 1
1642
+ ],
1643
+ "icon-optional": false,
1644
+ "icon-rotation-alignment": "viewport",
1645
+ "icon-pitch-alignment": "viewport",
1198
1646
 
1199
- {
1200
- "id": "poi-destination-circles",
1201
- "type": "circle",
1202
- "source": "poi-data",
1203
- "filter": ["all", ["==", ["get", "poiType"], "destination"], ["!", ["has", "iconId"]]],
1204
- "minzoom": 16.5,
1205
- "paint": {
1206
- "circle-radius": [
1647
+ "text-field": ["get", "name"],
1648
+ "text-size": [
1207
1649
  "interpolate", ["linear"], ["zoom"],
1208
- 14, 3,
1209
- 16, 5,
1210
- 18, 7,
1211
- 20, 10
1650
+ 16, ["case", ["!=", ["coalesce", ["get", "iconId"], ""], ""], 0, 17],
1651
+ 19, ["case", ["!=", ["coalesce", ["get", "iconId"], ""], ""], 0, 19],
1652
+ 20, ["case", ["!=", ["coalesce", ["get", "iconId"], ""], ""], 0, 22]
1212
1653
  ],
1213
- "circle-color": "#ffffff",
1214
- "circle-stroke-width": 3,
1215
- "circle-stroke-color": "#162e51",
1216
- "circle-opacity": 1
1654
+ "text-offset": [0, 1.3],
1655
+ "text-anchor": "top",
1656
+ "text-optional": true,
1657
+ "text-padding": 4,
1658
+ "text-font": ["Noto Sans Bold"],
1659
+ "text-rotation-alignment": "viewport"
1660
+ },
1661
+ "paint": {
1662
+ "icon-halo-color": "#FFFFFF",
1663
+ "icon-halo-width": 1.5,
1664
+ "icon-halo-blur": 0.5,
1665
+ "text-color": "#242930",
1666
+ "text-halo-color": "#FFFFFF",
1667
+ "text-halo-width": 1.5,
1668
+ "text-halo-blur": 1,
1669
+ "icon-translate": [0, -20],
1670
+ "icon-translate-anchor": "viewport"
1217
1671
  }
1218
1672
  },
1219
-
1220
1673
  {
1221
- "id": "poi-destination-icons",
1674
+ "id": "poi-parking-icons",
1222
1675
  "type": "symbol",
1223
1676
  "source": "poi-data",
1224
- "filter": ["all", ["==", ["get", "poiType"], "destination"], ["has", "iconId"]],
1225
- "minzoom": 16.5,
1677
+ "filter": ["==", ["get", "amenityCategory"], "parking"],
1678
+ "minzoom": 14,
1226
1679
  "layout": {
1227
1680
  "symbol-sort-key": ["get", "rank"],
1228
1681
  "icon-image": ["get", "iconId"],
1229
1682
  "icon-size": [
1230
1683
  "interpolate", ["exponential", 1.3], ["zoom"],
1231
- 14, 0.28,
1232
- 16, 0.4,
1233
- 18, 0.58,
1234
- 20, 0.85,
1235
- 22, 1.2
1684
+ 14, 0.18,
1685
+ 16, 0.3,
1686
+ 18, 0.48,
1687
+ 20, 0.5,
1688
+ 22, 0.85
1236
1689
  ],
1237
1690
  "icon-allow-overlap": false,
1238
1691
  "icon-padding": [
@@ -1243,103 +1696,104 @@
1243
1696
  ],
1244
1697
  "icon-optional": false,
1245
1698
  "icon-rotation-alignment": "viewport",
1246
- "icon-pitch-alignment": "viewport"
1247
- }
1248
- },
1699
+ "icon-pitch-alignment": "viewport",
1249
1700
 
1250
- {
1251
- "id": "poi-destination-labels",
1252
- "type": "symbol",
1253
- "source": "poi-data",
1254
- "filter": [
1255
- "all",
1256
- ["==", ["get", "poiType"], "destination"],
1257
- ["==", ["get", "showLabel"], true],
1258
- ["!", ["has", "iconId"]]
1259
- ],
1260
- "minzoom": 16.5,
1261
- "layout": {
1262
- "symbol-sort-key": 0,
1263
1701
  "text-field": ["get", "name"],
1264
1702
  "text-size": [
1265
1703
  "interpolate", ["linear"], ["zoom"],
1266
- 16.5, 18,
1267
- 18, 20,
1268
- 20, 23
1704
+ 16, ["case", ["!=", ["coalesce", ["get", "iconId"], ""], ""], 0, 17],
1705
+ 19, ["case", ["!=", ["coalesce", ["get", "iconId"], ""], ""], 0, 19],
1706
+ 20, ["case", ["!=", ["coalesce", ["get", "iconId"], ""], ""], 0, 22]
1269
1707
  ],
1270
- "text-offset": [0, -0.9],
1271
- "text-anchor": "bottom",
1272
- "text-font": ["Noto Sans Bold"],
1273
- "text-max-width": 12,
1274
- "text-allow-overlap": false,
1708
+ "text-offset": [0, 1.3],
1709
+ "text-anchor": "top",
1710
+ "text-optional": true,
1275
1711
  "text-padding": 4,
1712
+ "text-font": ["Noto Sans Bold"],
1276
1713
  "text-rotation-alignment": "viewport"
1277
1714
  },
1278
1715
  "paint": {
1716
+ "icon-halo-color": "#FFFFFF",
1717
+ "icon-halo-width": 1.5,
1718
+ "icon-halo-blur": 0.5,
1279
1719
  "text-color": "#242930",
1280
1720
  "text-halo-color": "#FFFFFF",
1281
1721
  "text-halo-width": 1.5,
1282
- "text-halo-blur": 1
1722
+ "text-halo-blur": 1,
1723
+ "icon-translate": [0, -20],
1724
+ "icon-translate-anchor": "viewport"
1283
1725
  }
1284
1726
  },
1285
-
1286
1727
  {
1287
- "id": "map-labels",
1728
+ "id": "poi-bus-icons",
1288
1729
  "type": "symbol",
1289
- "source": "map-labels-data",
1290
- "minzoom": 15.5,
1730
+ "source": "poi-data",
1731
+ "filter": ["==", ["get", "amenityCategory"], "bus"],
1732
+ "minzoom": 14,
1291
1733
  "layout": {
1292
- "symbol-sort-key": 10,
1734
+ "symbol-sort-key": ["get", "rank"],
1735
+ "icon-image": ["get", "iconId"],
1736
+ "icon-size": [
1737
+ "interpolate", ["exponential", 1.3], ["zoom"],
1738
+ 14, 0.18,
1739
+ 16, 0.3,
1740
+ 18, 0.48,
1741
+ 20, 0.5,
1742
+ 22, 0.85
1743
+ ],
1744
+ "icon-allow-overlap": false,
1745
+ "icon-padding": [
1746
+ "interpolate", ["linear"], ["zoom"],
1747
+ 15, 8,
1748
+ 17, 4,
1749
+ 19, 2
1750
+ ],
1751
+ "icon-optional": false,
1752
+ "icon-rotation-alignment": "viewport",
1753
+ "icon-pitch-alignment": "viewport",
1754
+
1293
1755
  "text-field": ["get", "name"],
1294
1756
  "text-size": [
1295
1757
  "interpolate", ["linear"], ["zoom"],
1296
- 15.5, 13,
1297
- 16.5, 16,
1298
- 18, 19,
1299
- 20, 22
1758
+ 16, ["case", ["!=", ["coalesce", ["get", "iconId"], ""], ""], 0, 17],
1759
+ 19, ["case", ["!=", ["coalesce", ["get", "iconId"], ""], ""], 0, 19],
1760
+ 20, ["case", ["!=", ["coalesce", ["get", "iconId"], ""], ""], 0, 22]
1300
1761
  ],
1762
+ "text-offset": [0, 1.3],
1763
+ "text-anchor": "top",
1764
+ "text-optional": true,
1765
+ "text-padding": 4,
1301
1766
  "text-font": ["Noto Sans Bold"],
1302
- "text-letter-spacing": 0.04,
1303
- "text-max-width": 10,
1304
- "text-anchor": "center",
1305
- "text-rotate": ["get", "rotation"],
1306
- "text-rotation-alignment": "map",
1307
- "text-allow-overlap": false,
1308
- "text-padding": 4
1767
+ "text-rotation-alignment": "viewport"
1309
1768
  },
1310
1769
  "paint": {
1311
- "text-color": "#3d4551",
1770
+ "icon-halo-color": "#FFFFFF",
1771
+ "icon-halo-width": 1.5,
1772
+ "icon-halo-blur": 0.5,
1773
+ "text-color": "#242930",
1312
1774
  "text-halo-color": "#FFFFFF",
1313
- "text-halo-width": 1.4,
1314
- "text-halo-blur": 0.5
1775
+ "text-halo-width": 1.5,
1776
+ "text-halo-blur": 1,
1777
+ "icon-translate": [0, -20],
1778
+ "icon-translate-anchor": "viewport"
1315
1779
  }
1316
1780
  },
1317
-
1318
1781
  {
1319
- "id": "poi-entrance-exit-icons",
1782
+ "id": "poi-connector-icons",
1320
1783
  "type": "symbol",
1321
1784
  "source": "poi-data",
1322
- "filter": [
1323
- "all",
1324
- ["==", ["get", "poiType"], "amenity"],
1325
- [
1326
- "any",
1327
- ["!=", ["index-of", "entrance", ["get", "keywords"]], -1],
1328
- ["!=", ["index-of", "exit", ["get", "keywords"]], -1],
1329
- ["!=", ["index-of", "door", ["get", "keywords"]], -1]
1330
- ]
1331
- ],
1332
- "minzoom": 15,
1785
+ "filter": ["==", ["get", "amenityCategory"], "connector"],
1786
+ "minzoom": 16.5,
1333
1787
  "layout": {
1334
1788
  "symbol-sort-key": ["get", "rank"],
1335
1789
  "icon-image": ["get", "iconId"],
1336
1790
  "icon-size": [
1337
1791
  "interpolate", ["exponential", 1.3], ["zoom"],
1338
- 14, 0.28,
1339
- 16, 0.4,
1340
- 18, 0.58,
1341
- 20, 0.85,
1342
- 22, 1.2
1792
+ 14, 0.18,
1793
+ 16, 0.3,
1794
+ 18, 0.48,
1795
+ 20, 0.5,
1796
+ 22, 0.85
1343
1797
  ],
1344
1798
  "icon-allow-overlap": false,
1345
1799
  "icon-padding": [
@@ -1379,29 +1833,21 @@
1379
1833
  }
1380
1834
  },
1381
1835
  {
1382
- "id": "poi-parking-icons",
1836
+ "id": "poi-information-icons",
1383
1837
  "type": "symbol",
1384
1838
  "source": "poi-data",
1385
- "filter": [
1386
- "all",
1387
- ["==", ["get", "poiType"], "amenity"],
1388
- [
1389
- "any",
1390
- ["!=", ["index-of", "parking", ["get", "keywords"]], -1],
1391
- ["!=", ["index-of", "park", ["get", "keywords"]], -1]
1392
- ]
1393
- ],
1394
- "minzoom": 14,
1839
+ "filter": ["==", ["get", "amenityCategory"], "information"],
1840
+ "minzoom": 16.5,
1395
1841
  "layout": {
1396
1842
  "symbol-sort-key": ["get", "rank"],
1397
1843
  "icon-image": ["get", "iconId"],
1398
1844
  "icon-size": [
1399
1845
  "interpolate", ["exponential", 1.3], ["zoom"],
1400
- 14, 0.28,
1401
- 16, 0.4,
1402
- 18, 0.58,
1403
- 20, 0.85,
1404
- 22, 1.2
1846
+ 14, 0.18,
1847
+ 16, 0.3,
1848
+ 18, 0.48,
1849
+ 20, 0.5,
1850
+ 22, 0.85
1405
1851
  ],
1406
1852
  "icon-allow-overlap": false,
1407
1853
  "icon-padding": [
@@ -1446,12 +1892,7 @@
1446
1892
  "source": "poi-data",
1447
1893
  "filter": [
1448
1894
  "all",
1449
- ["==", ["get", "poiType"], "amenity"],
1450
- ["==", ["index-of", "entrance", ["get", "keywords"]], -1],
1451
- ["==", ["index-of", "exit", ["get", "keywords"]], -1],
1452
- ["==", ["index-of", "door", ["get", "keywords"]], -1],
1453
- ["==", ["index-of", "parking", ["get", "keywords"]], -1],
1454
- ["==", ["index-of", "park", ["get", "keywords"]], -1],
1895
+ ["==", ["get", "amenityCategory"], "other"],
1455
1896
  ["<=", ["get", "rank"], ["step", ["zoom"], 0, 17, 2, 18, 3]]
1456
1897
  ],
1457
1898
  "minzoom": 16.5,
@@ -1460,11 +1901,11 @@
1460
1901
  "icon-image": ["get", "iconId"],
1461
1902
  "icon-size": [
1462
1903
  "interpolate", ["exponential", 1.3], ["zoom"],
1463
- 14, 0.28,
1464
- 16, 0.4,
1465
- 18, 0.58,
1466
- 20, 0.85,
1467
- 22, 1.2
1904
+ 14, 0.18,
1905
+ 16, 0.3,
1906
+ 18, 0.48,
1907
+ 20, 0.5,
1908
+ 22, 0.85
1468
1909
  ],
1469
1910
  "icon-allow-overlap": false,
1470
1911
  "icon-padding": [
@@ -1503,6 +1944,111 @@
1503
1944
  "icon-translate-anchor": "viewport"
1504
1945
  }
1505
1946
  },
1947
+ {
1948
+ "id": "poi-restroom-group-icons",
1949
+ "type": "symbol",
1950
+ "source": "restroom-group-data",
1951
+ "minzoom": 16.5,
1952
+ "layout": {
1953
+ "symbol-sort-key": 0,
1954
+ "icon-image": "material-wc",
1955
+ "icon-size": [
1956
+ "interpolate", ["exponential", 1.3], ["zoom"],
1957
+ 14, 0.18,
1958
+ 16, 0.3,
1959
+ 18, 0.48,
1960
+ 20, 0.5,
1961
+ 22, 0.85
1962
+ ],
1963
+ "icon-allow-overlap": false,
1964
+ "icon-padding": [
1965
+ "interpolate", ["linear"], ["zoom"],
1966
+ 15, 8,
1967
+ 17, 4,
1968
+ 19, 2
1969
+ ],
1970
+ "icon-optional": false,
1971
+ "icon-rotation-alignment": "viewport",
1972
+ "icon-pitch-alignment": "viewport"
1973
+ },
1974
+ "paint": {
1975
+ "icon-halo-color": "#FFFFFF",
1976
+ "icon-halo-width": 1.5,
1977
+ "icon-halo-blur": 0.5,
1978
+ "icon-translate": [0, -20],
1979
+ "icon-translate-anchor": "viewport"
1980
+ }
1981
+ },
1982
+ {
1983
+ "id": "poi-destination-labels",
1984
+ "type": "symbol",
1985
+ "source": "poi-data",
1986
+ "filter": [
1987
+ "all",
1988
+ ["==", ["get", "poiType"], "destination"],
1989
+ ["==", ["get", "showLabel"], true]
1990
+ ],
1991
+
1992
+ "layout": {
1993
+ "symbol-sort-key": 0,
1994
+ "icon-image": "destination-dot",
1995
+ "icon-size": [
1996
+ "interpolate", ["linear"], ["zoom"],
1997
+ 14, 0.1,
1998
+ 16, 0.3,
1999
+ 18, 0.5,
2000
+ 20, 0.8
2001
+ ],
2002
+ "icon-overlap": "cooperative",
2003
+ "icon-ignore-placement": false,
2004
+ "icon-padding": 0,
2005
+ "icon-optional": false,
2006
+ "icon-rotation-alignment": "viewport",
2007
+ "icon-pitch-alignment": "viewport",
2008
+ "text-field": ["get", "name"],
2009
+ "text-size": 16,
2010
+ "text-variable-anchor-offset": ["top", [0, 0.8], "right", [-0.8, 0], "bottom", [0, -0.8], "left", [0.8, 0]],
2011
+ "text-variable-anchor": ["top", "right" , "bottom", "left"],
2012
+ "text-font": ["Noto Sans Bold"],
2013
+ "text-max-width": 12,
2014
+ "text-overlap": "never",
2015
+ "text-padding": 4,
2016
+ "text-optional": true,
2017
+ "text-rotation-alignment": "viewport"
2018
+ },
2019
+ "paint": {
2020
+ "text-color": "#FFFFFF",
2021
+ "text-halo-color": "#242930",
2022
+ "text-halo-width": 2,
2023
+ "text-halo-blur": 0
2024
+ }
2025
+ },
2026
+ {
2027
+ "id": "poi-destination-circles",
2028
+ "type": "symbol",
2029
+ "source": "poi-data",
2030
+ "filter": [
2031
+ "all",
2032
+ ["==", ["get", "poiType"], "destination"],
2033
+ ["!=", ["get", "showLabel"], true]
2034
+ ],
2035
+ "minzoom": 16.5,
2036
+ "layout": {
2037
+ "icon-image": "destination-dot",
2038
+ "icon-size": [
2039
+ "interpolate", ["linear"], ["zoom"],
2040
+ 14, 0.1,
2041
+ 16, 0.3,
2042
+ 18, 0.5,
2043
+ 20, 0.8
2044
+ ],
2045
+ "icon-overlap": "cooperative",
2046
+ "icon-ignore-placement": false,
2047
+ "icon-padding": 0,
2048
+ "icon-rotation-alignment": "viewport",
2049
+ "icon-pitch-alignment": "viewport"
2050
+ }
2051
+ },
1506
2052
  {
1507
2053
  "id": "poi-you-are-here-heading",
1508
2054
  "type": "symbol",
@@ -1517,21 +2063,21 @@
1517
2063
  "text-field": "▲",
1518
2064
  "text-size": [
1519
2065
  "interpolate", ["linear"], ["zoom"],
1520
- 16, 28,
1521
- 18, 34,
1522
- 20, 42
2066
+ 16, 20,
2067
+ 18, 22,
2068
+ 20, 28
1523
2069
  ],
1524
2070
  "text-font": ["Noto Sans Bold"],
1525
- "text-anchor": "bottom",
1526
- "text-offset": [0, -0.45],
1527
- "text-rotate": ["get", "heading"],
2071
+ "text-anchor": "bottom",
2072
+ "text-rotate": ["-", ["get", "heading"], 180],
1528
2073
  "text-rotation-alignment": "map",
1529
2074
  "text-pitch-alignment": "map",
1530
- "text-allow-overlap": true,
1531
- "text-ignore-placement": true
2075
+ "text-overlap": "always",
2076
+ "text-ignore-placement": false,
2077
+ "text-padding": 4
1532
2078
  },
1533
2079
  "paint": {
1534
- "text-color": "#face00",
2080
+ "text-color": "#E31C3D",
1535
2081
  "text-halo-color": "#162e51",
1536
2082
  "text-halo-width": 2.5,
1537
2083
  "text-opacity": 0.9
@@ -1550,31 +2096,11 @@
1550
2096
  18, 18,
1551
2097
  20, 24
1552
2098
  ],
1553
- "circle-color": "#face00",
2099
+ "circle-color": "#E31C3D",
1554
2100
  "circle-opacity": 0.25,
1555
2101
  "circle-pitch-alignment": "map"
1556
2102
  }
1557
2103
  },
1558
- {
1559
- "id": "poi-you-are-here-dot",
1560
- "type": "circle",
1561
- "source": "poi-data",
1562
- "filter": ["==", ["get", "isYouAreHere"], true],
1563
- "minzoom": 16,
1564
- "paint": {
1565
- "circle-radius": [
1566
- "interpolate", ["linear"], ["zoom"],
1567
- 16, 7,
1568
- 18, 9,
1569
- 20, 12
1570
- ],
1571
- "circle-color": "#face00",
1572
- "circle-opacity": 1,
1573
- "circle-stroke-color": "#ffffff",
1574
- "circle-stroke-width": 3,
1575
- "circle-stroke-opacity": 1
1576
- }
1577
- },
1578
2104
  {
1579
2105
  "id": "poi-you-are-here",
1580
2106
  "type": "symbol",
@@ -1582,27 +2108,59 @@
1582
2108
  "filter": ["==", ["get", "isYouAreHere"], true],
1583
2109
  "minzoom": 16,
1584
2110
  "layout": {
2111
+ "icon-image": "YouAreHereKiosk",
2112
+ "icon-anchor": "bottom",
2113
+ "icon-offset": [
2114
+ "interpolate", ["linear"], ["zoom"],
2115
+ 16, ["literal", [0, 20]],
2116
+ 18, ["literal", [0, 0]]
2117
+ ],
2118
+ "icon-size": [
2119
+ "interpolate", ["linear"], ["zoom"],
2120
+ 16, 0.9,
2121
+ 18, 0.8
2122
+ ],
2123
+ "icon-overlap": "never",
2124
+ "icon-ignore-placement": false,
2125
+ "icon-padding": [
2126
+ "interpolate", ["linear"], ["zoom"],
2127
+ 16, 12,
2128
+ 18, 14,
2129
+ 20, 18
2130
+ ],
1585
2131
  "text-field": ["get", "name"],
1586
2132
  "text-size": [
1587
2133
  "interpolate", ["linear"], ["zoom"],
1588
- 16, 17,
1589
- 18, 19,
1590
- 20, 22
2134
+ 16, 16,
2135
+ 18, 16,
2136
+ 20, 18
2137
+ ],
2138
+ "text-offset": [
2139
+ "interpolate", ["linear"], ["zoom"],
2140
+ 16, ["literal", [0, -1.5]],
2141
+ 18, ["literal", [0, -2.5]]
1591
2142
  ],
1592
- "text-offset": [0, -1.8],
1593
2143
  "text-anchor": "bottom",
1594
2144
  "text-font": ["Noto Sans Bold"],
1595
- "text-allow-overlap": true,
1596
- "text-ignore-placement": true,
1597
- "text-optional": false
2145
+ "text-overlap": "never",
2146
+ "text-ignore-placement": false,
2147
+ "text-padding": [
2148
+ "interpolate", ["linear"], ["zoom"],
2149
+ 16, 8,
2150
+ 18, 10,
2151
+ 20, 12
2152
+ ],
2153
+ "text-optional": false,
2154
+ "text-transform": "uppercase"
1598
2155
  },
1599
2156
  "paint": {
1600
- "text-color": "#ffffff",
1601
- "text-halo-color": "#162e51",
2157
+ "text-color": "#E31C3D",
2158
+ "text-halo-color": "#ffffff",
1602
2159
  "text-halo-width": 2.5,
1603
- "text-halo-blur": 0.5
1604
- }
2160
+ "text-halo-blur": 0.5
2161
+ }
1605
2162
  },
2163
+
1606
2164
  {
1607
2165
  "id": "poi-highlight-ring",
1608
2166
  "type": "circle",