@minmaps-dev/mm-web-sdk 1.0.0-rc.3 → 1.0.0-rc.31

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.
@@ -8,11 +8,16 @@
8
8
  },
9
9
  "sprite": "http://localhost:4000/sprites/sprite",
10
10
  "glyphs": "https://demotiles.maplibre.org/font/{fontstack}/{range}.pbf",
11
+ "light": {
12
+ "anchor": "viewport",
13
+ "color": "#fff4e8",
14
+ "intensity": 0.35,
15
+ "position": [1.5, 210, 20]
16
+ },
11
17
  "sources": {
12
- "osm-tiles": {
13
- "type": "raster",
14
- "tiles": ["https://tile.openstreetmap.org/{z}/{x}/{y}.png"],
15
- "tileSize": 256,
18
+ "protomaps": {
19
+ "type": "vector",
20
+ "url": "pmtiles://https://jacsdevtiles-gjgbejbpdzbgcge8.z01.azurefd.net/pmtiles/base/usa.pmtiles",
16
21
  "attribution": "© OpenStreetMap contributors"
17
22
  },
18
23
  "indoor-data": {
@@ -39,6 +44,18 @@
39
44
  "route-endpoints": {
40
45
  "type": "geojson",
41
46
  "data": { "type": "FeatureCollection", "features": [] }
47
+ },
48
+ "poi-highlight-data": {
49
+ "type": "geojson",
50
+ "data": { "type": "FeatureCollection", "features": [] }
51
+ },
52
+ "map-labels-data": {
53
+ "type": "geojson",
54
+ "data": { "type": "FeatureCollection", "features": [] }
55
+ },
56
+ "route-active-step": {
57
+ "type": "geojson",
58
+ "data": { "type": "FeatureCollection", "features": [] }
42
59
  }
43
60
  },
44
61
  "layers": [
@@ -46,25 +63,105 @@
46
63
  "id": "background",
47
64
  "type": "background",
48
65
  "paint": {
49
- "background-color": "#F5F5F5"
66
+ "background-color": "#f0f0f0"
67
+ }
68
+ },
69
+ {
70
+ "id": "basemap-earth",
71
+ "type": "fill",
72
+ "source": "protomaps",
73
+ "source-layer": "earth",
74
+ "paint": {
75
+ "fill-color": "#EAE2D0"
50
76
  }
51
77
  },
52
78
  {
53
- "id": "osm",
54
- "type": "raster",
55
- "source": "osm-tiles",
56
- "minzoom": 0,
79
+ "id": "basemap-landuse-park",
80
+ "type": "fill",
81
+ "source": "protomaps",
82
+ "source-layer": "landuse",
83
+ "filter": [
84
+ "in",
85
+ ["get", "kind"],
86
+ ["literal", ["park", "forest", "wood", "nature_reserve", "grass", "garden", "playground", "cemetery", "golf_course"]]
87
+ ],
57
88
  "paint": {
58
- "raster-opacity": [
89
+ "fill-color": "#cbe0b6",
90
+ "fill-opacity": [
59
91
  "interpolate",
60
92
  ["linear"],
61
93
  ["zoom"],
62
- 14,
63
- 0.8,
64
- 16,
65
- 0.6,
66
- 18,
67
- 0.4
94
+ 14, 0.95,
95
+ 18, 0.8
96
+ ]
97
+ }
98
+ },
99
+ {
100
+ "id": "basemap-water",
101
+ "type": "fill",
102
+ "source": "protomaps",
103
+ "source-layer": "water",
104
+ "paint": {
105
+ "fill-color": "#c2dbf2"
106
+ }
107
+ },
108
+ {
109
+ "id": "basemap-roads-minor",
110
+ "type": "line",
111
+ "source": "protomaps",
112
+ "source-layer": "roads",
113
+ "minzoom": 13,
114
+ "filter": [
115
+ "in",
116
+ ["get", "kind"],
117
+ ["literal", ["minor_road", "path", "service", "other"]]
118
+ ],
119
+ "paint": {
120
+ "line-color": "#FFFFFF",
121
+ "line-width": [
122
+ "interpolate",
123
+ ["linear"],
124
+ ["zoom"],
125
+ 13, 0.5,
126
+ 16, 1.5,
127
+ 19, 4
128
+ ],
129
+ "line-opacity": [
130
+ "interpolate",
131
+ ["linear"],
132
+ ["zoom"],
133
+ 14, 0.9,
134
+ 18, 0.5
135
+ ]
136
+ }
137
+ },
138
+ {
139
+ "id": "basemap-roads-major",
140
+ "type": "line",
141
+ "source": "protomaps",
142
+ "source-layer": "roads",
143
+ "minzoom": 10,
144
+ "filter": [
145
+ "in",
146
+ ["get", "kind"],
147
+ ["literal", ["highway", "major_road", "medium_road"]]
148
+ ],
149
+ "paint": {
150
+ "line-color": "#ecc97e",
151
+ "line-width": [
152
+ "interpolate",
153
+ ["linear"],
154
+ ["zoom"],
155
+ 10, 0.5,
156
+ 14, 1.5,
157
+ 18, 6
158
+ ],
159
+ "line-opacity": [
160
+ "interpolate",
161
+ ["linear"],
162
+ ["zoom"],
163
+ 14, 0.9,
164
+ 18, 0.5
68
165
  ]
69
166
  }
70
167
  },
@@ -76,7 +173,7 @@
76
173
  "minzoom": 16.5,
77
174
  "filter": ["==", ["get", "featureType"], "Pattern-Water"],
78
175
  "paint": {
79
- "fill-color": "#5DADE2",
176
+ "fill-color": "#cfe1ec",
80
177
  "fill-opacity": 0.6
81
178
  }
82
179
  },
@@ -87,7 +184,7 @@
87
184
  "minzoom": 16.5,
88
185
  "filter": ["==", ["get", "featureType"], "Pattern-Grass"],
89
186
  "paint": {
90
- "fill-color": "#7CB342",
187
+ "fill-color": "#d2e0c6",
91
188
  "fill-opacity": 0.5
92
189
  }
93
190
  },
@@ -98,7 +195,7 @@
98
195
  "minzoom": 16.5,
99
196
  "filter": ["==", ["get", "featureType"], "Pattern-Trees"],
100
197
  "paint": {
101
- "fill-color": "#4CAF50",
198
+ "fill-color": "#cdd9c9",
102
199
  "fill-opacity": 0.4
103
200
  }
104
201
  },
@@ -121,7 +218,7 @@
121
218
  "minzoom": 16.5,
122
219
  "filter": ["==", ["get", "featureType"], "Pattern-OutdoorTerrace"],
123
220
  "paint": {
124
- "fill-color": "#8D6E63",
221
+ "fill-color": "#cabfb6",
125
222
  "fill-opacity": 0.3
126
223
  }
127
224
  },
@@ -130,19 +227,21 @@
130
227
  "id": "parking-lots",
131
228
  "type": "fill",
132
229
  "source": "indoor-data",
230
+ "minzoom": 16.5,
133
231
  "filter": ["==", ["get", "featureType"], "Parking-Lots"],
134
232
  "paint": {
135
- "fill-color": "#BDBDBD",
136
- "fill-opacity": 0.6
233
+ "fill-color": "#e0e0dd",
234
+ "fill-opacity": 0.5
137
235
  }
138
236
  },
139
237
  {
140
238
  "id": "parking-lots-outline",
141
239
  "type": "line",
142
240
  "source": "indoor-data",
241
+ "minzoom": 16.5,
143
242
  "filter": ["==", ["get", "featureType"], "Parking-Lots"],
144
243
  "paint": {
145
- "line-color": "#757575",
244
+ "line-color": "#b0b0ad",
146
245
  "line-width": 1,
147
246
  "line-dasharray": [3, 2]
148
247
  }
@@ -155,7 +254,7 @@
155
254
  "minzoom": 16.5,
156
255
  "filter": ["==", ["get", "featureType"], "Boundary"],
157
256
  "paint": {
158
- "fill-color": "#FAF3E2",
257
+ "fill-color": "#edeef1",
159
258
  "fill-opacity": 1
160
259
  }
161
260
  },
@@ -163,11 +262,17 @@
163
262
  "id": "building-roof-fill",
164
263
  "type": "fill",
165
264
  "source": "indoor-data",
166
- "minzoom": 16.5,
265
+ "minzoom": 15.8,
167
266
  "filter": ["==", ["get", "featureType"], "Boundary"],
168
267
  "paint": {
169
- "fill-color": "#6A8799",
170
- "fill-opacity": 1
268
+ "fill-color": "#162e51",
269
+ "fill-opacity": [
270
+ "interpolate",
271
+ ["linear"],
272
+ ["zoom"],
273
+ 15.8, 0,
274
+ 16.5, 1
275
+ ]
171
276
  }
172
277
  },
173
278
  {
@@ -181,7 +286,7 @@
181
286
  ["==", ["get", "featureType"], "Corridor"]
182
287
  ],
183
288
  "paint": {
184
- "fill-color": "#F0E6D1"
289
+ "fill-color": "#d7dade"
185
290
  }
186
291
  },
187
292
 
@@ -216,38 +321,7 @@
216
321
  "minzoom": 16.5,
217
322
  "filter": ["==", ["get", "featureType"], "Units"],
218
323
  "paint": {
219
- "fill-color": [
220
- "case",
221
- ["has", "category"],
222
- [
223
- "match",
224
- ["get", "category"],
225
- "healthcare",
226
- "#7C3AED",
227
- "emergency",
228
- "#DC2626",
229
- "diagnostic",
230
- "#0EA5E9",
231
- "surgical",
232
- "#7C3AED",
233
- "retail",
234
- "#FF6B6B",
235
- "fnb",
236
- "#FFA500",
237
- "admin",
238
- "#A29BFE",
239
- "amenities",
240
- "#48C9B0",
241
- "staff",
242
- "#74B9FF",
243
- "security",
244
- "#1A7A96",
245
- "waiting",
246
- "#E1BEE7",
247
- "#8ecae6"
248
- ],
249
- "#8ecae6"
250
- ],
324
+ "fill-color": ["coalesce", ["get", "zoneColor"], "#f7f8fa"],
251
325
  "fill-opacity": [
252
326
  "interpolate",
253
327
  ["linear"],
@@ -268,14 +342,14 @@
268
342
  "minzoom": 16.5,
269
343
  "filter": ["==", ["get", "featureType"], "Units"],
270
344
  "layout": {
271
- "visibility": "none",
345
+ "visibility": "visible",
272
346
  "line-join": "round",
273
347
  "line-cap": "round"
274
348
  },
275
349
  "paint": {
276
- "line-color": "#263238",
350
+ "line-color": "#162e51",
277
351
  "line-opacity": 0.9,
278
- "line-width": ["interpolate", ["linear"], ["zoom"], 16, 0.6, 18, 1.0, 20, 1.6]
352
+ "line-width": ["interpolate", ["linear"], ["zoom"], 16, 0.8, 18, 1.4, 20, 2.2]
279
353
  }
280
354
  },
281
355
  {
@@ -285,7 +359,7 @@
285
359
  "minzoom": 16.5,
286
360
  "filter": ["==", ["get", "featureType"], "Back-of-house"],
287
361
  "paint": {
288
- "fill-color": "#D6D6CC",
362
+ "fill-color": "#e6e6e2",
289
363
  "fill-opacity": 0.7
290
364
  }
291
365
  },
@@ -297,7 +371,7 @@
297
371
  "minzoom": 16.5,
298
372
  "filter": ["==", ["get", "featureType"], "Back-of-house"],
299
373
  "paint": {
300
- "line-color": "#90A4AE",
374
+ "line-color": "#c4c4c4",
301
375
  "line-width": 0.5,
302
376
  "line-opacity": 0.4
303
377
  }
@@ -313,7 +387,7 @@
313
387
  "line-cap": "round"
314
388
  },
315
389
  "paint": {
316
- "line-color": "#7B8D93",
390
+ "line-color": "#b0b1b5",
317
391
  "line-width": [
318
392
  "interpolate",
319
393
  ["linear"],
@@ -336,7 +410,7 @@
336
410
  "minzoom": 16.5,
337
411
  "filter": ["==", ["get", "featureType"], "Restrooms"],
338
412
  "paint": {
339
- "fill-color": "#5B8468",
413
+ "fill-color": "#5f9070",
340
414
  "fill-opacity": 1
341
415
  }
342
416
  },
@@ -351,7 +425,7 @@
351
425
  "line-cap": "round"
352
426
  },
353
427
  "paint": {
354
- "line-color": "#3F5D4A",
428
+ "line-color": "#3f5d4a",
355
429
  "line-width": [
356
430
  "interpolate",
357
431
  ["linear"],
@@ -416,7 +490,7 @@
416
490
  ["literal", ["Escalators", "Stairs", "Elevators"]]
417
491
  ],
418
492
  "paint": {
419
- "fill-color": "#6A8799",
493
+ "fill-color": "#a9aeb1",
420
494
  "fill-opacity": 1
421
495
  }
422
496
  },
@@ -435,7 +509,7 @@
435
509
  "line-cap": "round"
436
510
  },
437
511
  "paint": {
438
- "line-color": "#455A64",
512
+ "line-color": "#6f7780",
439
513
  "line-width": [
440
514
  "interpolate",
441
515
  ["linear"],
@@ -462,7 +536,7 @@
462
536
  ["literal", ["Exits", "Doors", "Exit", "Door"]]
463
537
  ],
464
538
  "paint": {
465
- "fill-color": "#4CAF50",
539
+ "fill-color": "#cdd9c9",
466
540
  "fill-opacity": 0.6
467
541
  }
468
542
  },
@@ -474,7 +548,7 @@
474
548
  "minzoom": 16.5,
475
549
  "filter": ["==", ["get", "featureType"], "Kiosks"],
476
550
  "paint": {
477
- "fill-color": "#9C27B0",
551
+ "fill-color": "#ffe396",
478
552
  "fill-opacity": 0.7
479
553
  }
480
554
  },
@@ -486,7 +560,7 @@
486
560
  "minzoom": 16.5,
487
561
  "filter": ["==", ["get", "featureType"], "Pattern-Lounge"],
488
562
  "paint": {
489
- "fill-color": "#CE93D8",
563
+ "fill-color": "#ddd2e0",
490
564
  "fill-opacity": 0.5
491
565
  }
492
566
  },
@@ -498,7 +572,7 @@
498
572
  "minzoom": 16.5,
499
573
  "filter": ["==", ["get", "featureType"], "Pattern-IndoorFoodcourt"],
500
574
  "paint": {
501
- "fill-color": "#FFCC80",
575
+ "fill-color": "#f3e4c4",
502
576
  "fill-opacity": 0.6
503
577
  }
504
578
  },
@@ -514,7 +588,7 @@
514
588
  ["==", ["get", "featureType"], "Corridor"]
515
589
  ],
516
590
  "paint": {
517
- "line-color": "#BCAAA4",
591
+ "line-color": "#c6cace",
518
592
  "line-width": [
519
593
  "interpolate",
520
594
  ["linear"],
@@ -536,30 +610,30 @@
536
610
  "minzoom": 16.5,
537
611
  "filter": ["==", ["get", "featureType"], "Boundary"],
538
612
  "paint": {
539
- "line-color": "#263238",
613
+ "line-color": "#9aa4b0",
540
614
  "line-width": [
541
615
  "interpolate",
542
616
  ["linear"],
543
617
  ["zoom"],
544
618
  12,
545
- 2,
619
+ 1.5,
546
620
  15,
547
- 2.5,
621
+ 1.8,
548
622
  18,
549
- 3,
623
+ 2,
550
624
  20,
551
- 3.5
625
+ 2.2
552
626
  ],
553
627
  "line-opacity": [
554
628
  "interpolate",
555
629
  ["linear"],
556
630
  ["zoom"],
557
631
  12,
558
- 0.7,
632
+ 0.4,
559
633
  17,
560
- 0.85,
634
+ 0.5,
561
635
  18,
562
- 1
636
+ 0.55
563
637
  ]
564
638
  }
565
639
  },
@@ -574,19 +648,19 @@
574
648
  "line-cap": "round"
575
649
  },
576
650
  "paint": {
577
- "line-color": "#263238",
651
+ "line-color": "#c8a85a",
578
652
  "line-width": [
579
653
  "interpolate",
580
654
  ["linear"],
581
655
  ["zoom"],
582
656
  15,
583
- 1.2,
657
+ 1.5,
584
658
  18,
585
- 1.8,
659
+ 2,
586
660
  20,
587
- 2.4
661
+ 2.5
588
662
  ],
589
- "line-opacity": 0.95
663
+ "line-opacity": 0.55
590
664
  }
591
665
  },
592
666
  {
@@ -616,11 +690,61 @@
616
690
  "type": "fill-extrusion",
617
691
  "source": "indoor-data",
618
692
  "filter": ["==", ["get", "featureType"], "Boundary"],
619
- "maxzoom": 16.5,
620
693
  "paint": {
621
- "fill-extrusion-color": "#6A8799",
622
- "fill-extrusion-height": 15,
694
+ "fill-extrusion-color": "#162e51",
695
+ "fill-extrusion-height": [
696
+ "interpolate",
697
+ ["linear"],
698
+ ["zoom"],
699
+ 15.8, 15,
700
+ 16.5, 0
701
+ ],
702
+ "fill-extrusion-base": 0,
703
+ "fill-extrusion-opacity": [
704
+ "interpolate",
705
+ ["linear"],
706
+ ["zoom"],
707
+ 15.8, 1,
708
+ 16.5, 0
709
+ ]
710
+ }
711
+ },
712
+ {
713
+ "id": "units-3d-extrusion",
714
+ "type": "fill-extrusion",
715
+ "source": "indoor-data",
716
+ "minzoom": 16.5,
717
+ "filter": ["==", ["get", "featureType"], "UnitBlock"],
718
+ "paint": {
719
+ "fill-extrusion-color": [
720
+ "coalesce",
721
+ ["get", "zoneColor"],
722
+ [
723
+ "match",
724
+ ["get", "category"],
725
+ "healthcare", "#73b3e7",
726
+ "surgical", "#73b3e7",
727
+ "waiting", "#73b3e7",
728
+ "diagnostic", "#97d4ea",
729
+ "amenities", "#97d4ea",
730
+ "emergency", "#f2938c",
731
+ "retail", "#fee685",
732
+ "fnb", "#fee685",
733
+ "admin", "#dfe1e2",
734
+ "staff", "#dfe1e2",
735
+ "security", "#dfe1e2",
736
+ "#e8ecf1"
737
+ ]
738
+ ],
739
+ "fill-extrusion-height": [
740
+ "interpolate",
741
+ ["linear"],
742
+ ["zoom"],
743
+ 16.5, 0,
744
+ 18, 2.2
745
+ ],
623
746
  "fill-extrusion-base": 0,
747
+ "fill-extrusion-vertical-gradient": true,
624
748
  "fill-extrusion-opacity": 1
625
749
  }
626
750
  },
@@ -635,39 +759,11 @@
635
759
  ["==", ["get", "featureType"], "UnitWalls"],
636
760
  ["!", ["has", "custom_height"]]
637
761
  ],
762
+ "layout": {
763
+ "visibility": "none"
764
+ },
638
765
  "paint": {
639
- "fill-extrusion-color": [
640
- "case",
641
- ["has", "category"],
642
- [
643
- "match",
644
- ["get", "category"],
645
- "healthcare",
646
- "#5B2DB8",
647
- "emergency",
648
- "#B91C1C",
649
- "diagnostic",
650
- "#0C7FAB",
651
- "surgical",
652
- "#5B2DB8",
653
- "retail",
654
- "#CC5555",
655
- "fnb",
656
- "#CC8400",
657
- "admin",
658
- "#7B73CC",
659
- "amenities",
660
- "#3A9B88",
661
- "staff",
662
- "#5C96CC",
663
- "security",
664
- "#135C75",
665
- "waiting",
666
- "#B894C2",
667
- "#eeeeee"
668
- ],
669
- "#eeeeee"
670
- ],
766
+ "fill-extrusion-color": "#e6e9ee",
671
767
  "fill-extrusion-height": [
672
768
  "interpolate",
673
769
  ["linear"],
@@ -675,15 +771,15 @@
675
771
  15.5,
676
772
  0,
677
773
  16.5,
678
- 2,
774
+ ["case", ["==", ["get", "wallKind"], "interior"], 0.5, 1],
679
775
  17.5,
680
- 3,
776
+ ["case", ["==", ["get", "wallKind"], "interior"], 0.7, 1.4],
681
777
  18.2,
682
- 3.2
778
+ ["case", ["==", ["get", "wallKind"], "interior"], 0.9, 1.6]
683
779
  ],
684
780
  "fill-extrusion-base": 0,
685
- "fill-extrusion-vertical-gradient": false,
686
- "fill-extrusion-opacity": 0.9
781
+ "fill-extrusion-vertical-gradient": true,
782
+ "fill-extrusion-opacity": 1
687
783
  }
688
784
  },
689
785
 
@@ -693,43 +789,27 @@
693
789
  "source": "unit-walls",
694
790
  "minzoom": 16.5,
695
791
  "filter": ["has", "custom_height"],
792
+ "layout": {
793
+ "visibility": "none"
794
+ },
696
795
  "paint": {
697
- "fill-extrusion-color": [
698
- "case",
699
- ["has", "category"],
700
- [
701
- "match",
702
- ["get", "category"],
703
- "healthcare",
704
- "#5B2DB8",
705
- "emergency",
706
- "#B91C1C",
707
- "diagnostic",
708
- "#0C7FAB",
709
- "surgical",
710
- "#5B2DB8",
711
- "retail",
712
- "#CC5555",
713
- "fnb",
714
- "#CC8400",
715
- "admin",
716
- "#7B73CC",
717
- "amenities",
718
- "#3A9B88",
719
- "staff",
720
- "#5C96CC",
721
- "security",
722
- "#135C75",
723
- "waiting",
724
- "#B894C2",
725
- "#FDFAF2"
726
- ],
727
- "#FDFAF2"
796
+ "fill-extrusion-color": "#e6e9ee",
797
+ "fill-extrusion-height": [
798
+ "interpolate",
799
+ ["linear"],
800
+ ["zoom"],
801
+ 15.5,
802
+ 0,
803
+ 16.5,
804
+ 1,
805
+ 17.5,
806
+ 1.4,
807
+ 18.2,
808
+ 1.6
728
809
  ],
729
- "fill-extrusion-height": ["to-number", ["get", "custom_height"]],
730
810
  "fill-extrusion-base": 0,
731
- "fill-extrusion-vertical-gradient": false,
732
- "fill-extrusion-opacity": 0.95
811
+ "fill-extrusion-vertical-gradient": true,
812
+ "fill-extrusion-opacity": 1
733
813
  }
734
814
  },
735
815
 
@@ -761,7 +841,7 @@
761
841
  "minzoom": 16.5,
762
842
  "filter": ["==", ["get", "featureType"], "Back-of-house"],
763
843
  "paint": {
764
- "fill-extrusion-color": "#D6D6CC",
844
+ "fill-extrusion-color": "#e6e6e2",
765
845
  "fill-extrusion-height": [
766
846
  "interpolate",
767
847
  ["linear"],
@@ -769,11 +849,11 @@
769
849
  15.5,
770
850
  0,
771
851
  16.5,
772
- 2,
852
+ 1,
773
853
  17.5,
774
- 3,
854
+ 1.4,
775
855
  18.2,
776
- 3.2
856
+ 1.6
777
857
  ],
778
858
  "fill-extrusion-base": 0,
779
859
  "fill-extrusion-opacity": 1
@@ -787,7 +867,7 @@
787
867
  "minzoom": 16.5,
788
868
  "filter": ["==", ["get", "featureType"], "Restrooms"],
789
869
  "paint": {
790
- "fill-extrusion-color": "#5B8468",
870
+ "fill-extrusion-color": "#5f9070",
791
871
  "fill-extrusion-height": [
792
872
  "interpolate",
793
873
  ["linear"],
@@ -795,14 +875,14 @@
795
875
  15.5,
796
876
  0,
797
877
  16.5,
798
- 2,
878
+ 1,
799
879
  17.5,
800
- 3,
880
+ 1.4,
801
881
  18.2,
802
- 3.2
882
+ 1.6
803
883
  ],
804
884
  "fill-extrusion-base": 0,
805
- "fill-extrusion-opacity": 0.9
885
+ "fill-extrusion-opacity": 0.95
806
886
  }
807
887
  },
808
888
 
@@ -821,11 +901,11 @@
821
901
  15.5,
822
902
  0,
823
903
  16.5,
824
- 0.8,
904
+ 0.4,
825
905
  17.5,
826
- 1.5,
906
+ 0.6,
827
907
  18.2,
828
- 2
908
+ 0.8
829
909
  ],
830
910
  "fill-extrusion-base": 0,
831
911
  "fill-extrusion-opacity": 1
@@ -843,7 +923,7 @@
843
923
  ["literal", ["Escalators", "Stairs", "Elevators"]]
844
924
  ],
845
925
  "paint": {
846
- "fill-extrusion-color": "#6A8799",
926
+ "fill-extrusion-color": "#a9aeb1",
847
927
  "fill-extrusion-height": [
848
928
  "interpolate",
849
929
  ["linear"],
@@ -851,11 +931,11 @@
851
931
  15.5,
852
932
  0,
853
933
  16.5,
854
- 2,
934
+ 1,
855
935
  17.5,
856
- 3,
936
+ 1.4,
857
937
  18.2,
858
- 3.2
938
+ 1.6
859
939
  ],
860
940
  "fill-extrusion-base": 0,
861
941
  "fill-extrusion-vertical-gradient": true,
@@ -878,18 +958,18 @@
878
958
  15,
879
959
  0,
880
960
  16,
881
- 2,
961
+ 1,
882
962
  17,
883
- 3,
963
+ 1.4,
884
964
  18,
885
- 4
965
+ 1.6
886
966
  ],
887
967
  "fill-extrusion-base": 0,
888
968
  "fill-extrusion-opacity": 0.85
889
969
  }
890
970
  },
891
971
  {
892
- "id": "route-line",
972
+ "id": "route-halo",
893
973
  "type": "line",
894
974
  "source": "route-data",
895
975
  "minzoom": 16.5,
@@ -898,30 +978,126 @@
898
978
  "line-join": "round"
899
979
  },
900
980
  "paint": {
901
- "line-color": "#007aff",
981
+ "line-color": "#ffffff",
902
982
  "line-width": [
903
983
  "interpolate", ["linear"], ["zoom"],
904
- 16.5, 3,
905
- 18.0, 5,
906
- 20.0, 7
984
+ 16.5, 10,
985
+ 18.0, 15,
986
+ 20.0, 21
907
987
  ],
908
- "line-opacity": 0.9
988
+ "line-opacity": 0.95
909
989
  }
910
990
  },
911
991
  {
912
- "id": "route-halo",
992
+ "id": "route-line",
913
993
  "type": "line",
914
994
  "source": "route-data",
915
995
  "minzoom": 16.5,
996
+ "layout": {
997
+ "line-cap": "round",
998
+ "line-join": "round"
999
+ },
916
1000
  "paint": {
917
- "line-color": "white",
1001
+ "line-color": "#d32f2f",
1002
+ "line-width": [
1003
+ "interpolate", ["linear"], ["zoom"],
1004
+ 16.5, 6,
1005
+ 18.0, 9,
1006
+ 20.0, 13
1007
+ ],
1008
+ "line-opacity": 1
1009
+ }
1010
+ },
1011
+ {
1012
+ "id": "route-arrows",
1013
+ "type": "symbol",
1014
+ "source": "route-data",
1015
+ "minzoom": 16.5,
1016
+ "layout": {
1017
+ "symbol-placement": "line",
1018
+ "symbol-spacing": [
1019
+ "interpolate", ["linear"], ["zoom"],
1020
+ 16.5, 150,
1021
+ 18.0, 290,
1022
+ 20.0, 480
1023
+ ],
1024
+ "icon-image": "route-arrow",
1025
+ "icon-rotation-alignment": "map",
1026
+ "icon-pitch-alignment": "map",
1027
+ "icon-allow-overlap": true,
1028
+ "icon-ignore-placement": true,
1029
+ "icon-size": [
1030
+ "interpolate", ["linear"], ["zoom"],
1031
+ 16.5, 0.55,
1032
+ 18.0, 0.75,
1033
+ 20.0, 0.85
1034
+ ]
1035
+ },
1036
+ "paint": {
1037
+ "icon-opacity": 1
1038
+ }
1039
+ },
1040
+ {
1041
+ "id": "route-arrows-flow",
1042
+ "type": "symbol",
1043
+ "source": "route-arrows-flow",
1044
+ "minzoom": 16.5,
1045
+ "layout": {
1046
+ "icon-image": "route-arrow",
1047
+ "icon-rotate": ["get", "rotate"],
1048
+ "icon-rotation-alignment": "map",
1049
+ "icon-pitch-alignment": "map",
1050
+ "icon-allow-overlap": true,
1051
+ "icon-ignore-placement": true,
1052
+ "icon-size": [
1053
+ "interpolate", ["linear"], ["zoom"],
1054
+ 16.5, 0.55,
1055
+ 18.0, 0.75,
1056
+ 20.0, 0.85
1057
+ ]
1058
+ },
1059
+ "paint": {
1060
+ "icon-opacity": 1
1061
+ }
1062
+ },
1063
+ {
1064
+ "id": "route-line-active-halo",
1065
+ "type": "line",
1066
+ "source": "route-active-step",
1067
+ "minzoom": 16.5,
1068
+ "layout": {
1069
+ "line-cap": "round",
1070
+ "line-join": "round"
1071
+ },
1072
+ "paint": {
1073
+ "line-color": "#FFFFFF",
1074
+ "line-width": [
1075
+ "interpolate", ["linear"], ["zoom"],
1076
+ 16.5, 8,
1077
+ 18.0, 11,
1078
+ 20.0, 14
1079
+ ],
1080
+ "line-opacity": 0.85
1081
+ }
1082
+ },
1083
+ {
1084
+ "id": "route-line-active",
1085
+ "type": "line",
1086
+ "source": "route-active-step",
1087
+ "minzoom": 16.5,
1088
+ "layout": {
1089
+ "line-cap": "round",
1090
+ "line-join": "round"
1091
+ },
1092
+ "paint": {
1093
+ "line-color": "#fdb81e",
918
1094
  "line-width": [
919
1095
  "interpolate", ["linear"], ["zoom"],
920
1096
  16.5, 5,
921
1097
  18.0, 7,
922
1098
  20.0, 9
923
1099
  ],
924
- "line-opacity": 0.7
1100
+ "line-opacity": 1
925
1101
  }
926
1102
  },
927
1103
  {
@@ -934,7 +1110,7 @@
934
1110
  "circle-radius": 6,
935
1111
  "circle-color": "#ffffff",
936
1112
  "circle-stroke-width": 3,
937
- "circle-stroke-color": "#007aff",
1113
+ "circle-stroke-color": "#d32f2f",
938
1114
  "circle-opacity": 1
939
1115
  }
940
1116
  },
@@ -946,7 +1122,7 @@
946
1122
  "filter": ["==", ["get", "role"], "destination"],
947
1123
  "paint": {
948
1124
  "circle-radius": 7,
949
- "circle-color": "#007aff",
1125
+ "circle-color": "#d32f2f",
950
1126
  "circle-stroke-width": 3,
951
1127
  "circle-stroke-color": "#ffffff",
952
1128
  "circle-opacity": 1
@@ -961,13 +1137,20 @@
961
1137
  "layout": {
962
1138
  "icon-image": "wheelchair-accessible",
963
1139
  "icon-size": [
964
- "interpolate", ["linear"], ["zoom"],
965
- 15, 0.4,
966
- 17, 0.6,
967
- 19, 0.8
1140
+ "interpolate", ["exponential", 1.3], ["zoom"],
1141
+ 14, 0.28,
1142
+ 16, 0.4,
1143
+ 18, 0.58,
1144
+ 20, 0.85,
1145
+ 22, 1.2
968
1146
  ],
969
1147
  "icon-allow-overlap": false,
970
- "icon-padding": 4
1148
+ "icon-padding": [
1149
+ "interpolate", ["linear"], ["zoom"],
1150
+ 15, 8,
1151
+ 17, 4,
1152
+ 19, 2
1153
+ ]
971
1154
  }
972
1155
  },
973
1156
 
@@ -975,20 +1158,50 @@
975
1158
  "id": "poi-destination-circles",
976
1159
  "type": "circle",
977
1160
  "source": "poi-data",
978
- "filter": ["==", ["get", "poiType"], "destination"],
1161
+ "filter": ["all", ["==", ["get", "poiType"], "destination"], ["!", ["has", "iconId"]]],
979
1162
  "minzoom": 16.5,
980
1163
  "paint": {
981
1164
  "circle-radius": [
982
1165
  "interpolate", ["linear"], ["zoom"],
983
- 15, 3,
1166
+ 14, 3,
1167
+ 16, 5,
1168
+ 18, 7,
1169
+ 20, 10
1170
+ ],
1171
+ "circle-color": "#ffffff",
1172
+ "circle-stroke-width": 3,
1173
+ "circle-stroke-color": "#162e51",
1174
+ "circle-opacity": 1
1175
+ }
1176
+ },
1177
+
1178
+ {
1179
+ "id": "poi-destination-icons",
1180
+ "type": "symbol",
1181
+ "source": "poi-data",
1182
+ "filter": ["all", ["==", ["get", "poiType"], "destination"], ["has", "iconId"]],
1183
+ "minzoom": 16.5,
1184
+ "layout": {
1185
+ "symbol-sort-key": ["get", "rank"],
1186
+ "icon-image": ["get", "iconId"],
1187
+ "icon-size": [
1188
+ "interpolate", ["exponential", 1.3], ["zoom"],
1189
+ 14, 0.28,
1190
+ 16, 0.4,
1191
+ 18, 0.58,
1192
+ 20, 0.85,
1193
+ 22, 1.2
1194
+ ],
1195
+ "icon-allow-overlap": false,
1196
+ "icon-padding": [
1197
+ "interpolate", ["linear"], ["zoom"],
1198
+ 15, 8,
984
1199
  17, 4,
985
- 19, 5,
986
- 20, 6
1200
+ 19, 2
987
1201
  ],
988
- "circle-color": "#162e51",
989
- "circle-stroke-width": 2,
990
- "circle-stroke-color": "#FFFFFF",
991
- "circle-opacity": 0.9
1202
+ "icon-optional": false,
1203
+ "icon-rotation-alignment": "viewport",
1204
+ "icon-pitch-alignment": "viewport"
992
1205
  }
993
1206
  },
994
1207
 
@@ -999,21 +1212,25 @@
999
1212
  "filter": [
1000
1213
  "all",
1001
1214
  ["==", ["get", "poiType"], "destination"],
1002
- ["==", ["get", "showLabel"], true]
1215
+ ["==", ["get", "showLabel"], true],
1216
+ ["!", ["has", "iconId"]]
1003
1217
  ],
1004
- "minzoom": 18.5,
1218
+ "minzoom": 16.5,
1005
1219
  "layout": {
1220
+ "symbol-sort-key": 0,
1006
1221
  "text-field": ["get", "name"],
1007
1222
  "text-size": [
1008
1223
  "interpolate", ["linear"], ["zoom"],
1009
- 18.5, 12,
1010
- 20, 14
1224
+ 16.5, 18,
1225
+ 18, 20,
1226
+ 20, 23
1011
1227
  ],
1012
- "text-offset": [0, 0.8],
1013
- "text-anchor": "top",
1228
+ "text-offset": [0, -0.9],
1229
+ "text-anchor": "bottom",
1014
1230
  "text-font": ["Noto Sans Bold"],
1015
1231
  "text-max-width": 12,
1016
1232
  "text-allow-overlap": false,
1233
+ "text-padding": 4,
1017
1234
  "text-rotation-alignment": "viewport"
1018
1235
  },
1019
1236
  "paint": {
@@ -1024,6 +1241,38 @@
1024
1241
  }
1025
1242
  },
1026
1243
 
1244
+ {
1245
+ "id": "map-labels",
1246
+ "type": "symbol",
1247
+ "source": "map-labels-data",
1248
+ "minzoom": 15.5,
1249
+ "layout": {
1250
+ "symbol-sort-key": 10,
1251
+ "text-field": ["get", "name"],
1252
+ "text-size": [
1253
+ "interpolate", ["linear"], ["zoom"],
1254
+ 15.5, 13,
1255
+ 16.5, 16,
1256
+ 18, 19,
1257
+ 20, 22
1258
+ ],
1259
+ "text-font": ["Noto Sans Bold"],
1260
+ "text-letter-spacing": 0.04,
1261
+ "text-max-width": 10,
1262
+ "text-anchor": "center",
1263
+ "text-rotate": ["get", "rotation"],
1264
+ "text-rotation-alignment": "map",
1265
+ "text-allow-overlap": false,
1266
+ "text-padding": 4
1267
+ },
1268
+ "paint": {
1269
+ "text-color": "#3d4551",
1270
+ "text-halo-color": "#FFFFFF",
1271
+ "text-halo-width": 1.4,
1272
+ "text-halo-blur": 0.5
1273
+ }
1274
+ },
1275
+
1027
1276
  {
1028
1277
  "id": "poi-entrance-exit-icons",
1029
1278
  "type": "symbol",
@@ -1040,15 +1289,23 @@
1040
1289
  ],
1041
1290
  "minzoom": 15,
1042
1291
  "layout": {
1292
+ "symbol-sort-key": ["get", "rank"],
1043
1293
  "icon-image": ["get", "iconId"],
1044
1294
  "icon-size": [
1295
+ "interpolate", ["exponential", 1.3], ["zoom"],
1296
+ 14, 0.28,
1297
+ 16, 0.4,
1298
+ 18, 0.58,
1299
+ 20, 0.85,
1300
+ 22, 1.2
1301
+ ],
1302
+ "icon-allow-overlap": false,
1303
+ "icon-padding": [
1045
1304
  "interpolate", ["linear"], ["zoom"],
1046
- 16.5, 0.5,
1047
- 18, 0.6,
1048
- 20, 0.8
1305
+ 15, 8,
1306
+ 17, 4,
1307
+ 19, 2
1049
1308
  ],
1050
- "icon-allow-overlap": true,
1051
- "icon-padding": 2,
1052
1309
  "icon-optional": false,
1053
1310
  "icon-rotation-alignment": "viewport",
1054
1311
  "icon-pitch-alignment": "viewport",
@@ -1056,10 +1313,9 @@
1056
1313
  "text-field": ["get", "name"],
1057
1314
  "text-size": [
1058
1315
  "interpolate", ["linear"], ["zoom"],
1059
- 16.5, 0,
1060
- 18.5, 0,
1061
- 19, 12,
1062
- 20, 13
1316
+ 16, ["case", ["!=", ["coalesce", ["get", "iconId"], ""], ""], 0, 17],
1317
+ 19, ["case", ["!=", ["coalesce", ["get", "iconId"], ""], ""], 0, 19],
1318
+ 20, ["case", ["!=", ["coalesce", ["get", "iconId"], ""], ""], 0, 22]
1063
1319
  ],
1064
1320
  "text-offset": [0, 1.3],
1065
1321
  "text-anchor": "top",
@@ -1095,15 +1351,23 @@
1095
1351
  ],
1096
1352
  "minzoom": 14,
1097
1353
  "layout": {
1354
+ "symbol-sort-key": ["get", "rank"],
1098
1355
  "icon-image": ["get", "iconId"],
1099
1356
  "icon-size": [
1357
+ "interpolate", ["exponential", 1.3], ["zoom"],
1358
+ 14, 0.28,
1359
+ 16, 0.4,
1360
+ 18, 0.58,
1361
+ 20, 0.85,
1362
+ 22, 1.2
1363
+ ],
1364
+ "icon-allow-overlap": false,
1365
+ "icon-padding": [
1100
1366
  "interpolate", ["linear"], ["zoom"],
1101
- 16.5, 0.5,
1102
- 18, 0.6,
1103
- 20, 0.8
1367
+ 15, 8,
1368
+ 17, 4,
1369
+ 19, 2
1104
1370
  ],
1105
- "icon-allow-overlap": true,
1106
- "icon-padding": 2,
1107
1371
  "icon-optional": false,
1108
1372
  "icon-rotation-alignment": "viewport",
1109
1373
  "icon-pitch-alignment": "viewport",
@@ -1111,10 +1375,9 @@
1111
1375
  "text-field": ["get", "name"],
1112
1376
  "text-size": [
1113
1377
  "interpolate", ["linear"], ["zoom"],
1114
- 16.5, 0,
1115
- 18.5, 0,
1116
- 19, 12,
1117
- 20, 13
1378
+ 16, ["case", ["!=", ["coalesce", ["get", "iconId"], ""], ""], 0, 17],
1379
+ 19, ["case", ["!=", ["coalesce", ["get", "iconId"], ""], ""], 0, 19],
1380
+ 20, ["case", ["!=", ["coalesce", ["get", "iconId"], ""], ""], 0, 22]
1118
1381
  ],
1119
1382
  "text-offset": [0, 1.3],
1120
1383
  "text-anchor": "top",
@@ -1146,19 +1409,28 @@
1146
1409
  ["==", ["index-of", "exit", ["get", "keywords"]], -1],
1147
1410
  ["==", ["index-of", "door", ["get", "keywords"]], -1],
1148
1411
  ["==", ["index-of", "parking", ["get", "keywords"]], -1],
1149
- ["==", ["index-of", "park", ["get", "keywords"]], -1]
1412
+ ["==", ["index-of", "park", ["get", "keywords"]], -1],
1413
+ ["<=", ["get", "rank"], ["step", ["zoom"], 0, 17, 2, 18, 3]]
1150
1414
  ],
1151
- "minzoom": 17.5,
1415
+ "minzoom": 16.5,
1152
1416
  "layout": {
1417
+ "symbol-sort-key": ["get", "rank"],
1153
1418
  "icon-image": ["get", "iconId"],
1154
1419
  "icon-size": [
1420
+ "interpolate", ["exponential", 1.3], ["zoom"],
1421
+ 14, 0.28,
1422
+ 16, 0.4,
1423
+ 18, 0.58,
1424
+ 20, 0.85,
1425
+ 22, 1.2
1426
+ ],
1427
+ "icon-allow-overlap": false,
1428
+ "icon-padding": [
1155
1429
  "interpolate", ["linear"], ["zoom"],
1156
- 17.5, 0.5,
1157
- 18, 0.6,
1158
- 20, 0.8
1430
+ 15, 8,
1431
+ 17, 4,
1432
+ 19, 2
1159
1433
  ],
1160
- "icon-allow-overlap": true,
1161
- "icon-padding": 2,
1162
1434
  "icon-optional": false,
1163
1435
  "icon-rotation-alignment": "viewport",
1164
1436
  "icon-pitch-alignment": "viewport",
@@ -1166,10 +1438,9 @@
1166
1438
  "text-field": ["get", "name"],
1167
1439
  "text-size": [
1168
1440
  "interpolate", ["linear"], ["zoom"],
1169
- 17.5, 0,
1170
- 18.5, 0,
1171
- 19, 12,
1172
- 20, 13
1441
+ 16, ["case", ["!=", ["coalesce", ["get", "iconId"], ""], ""], 0, 17],
1442
+ 19, ["case", ["!=", ["coalesce", ["get", "iconId"], ""], ""], 0, 19],
1443
+ 20, ["case", ["!=", ["coalesce", ["get", "iconId"], ""], ""], 0, 22]
1173
1444
  ],
1174
1445
  "text-offset": [0, 1.3],
1175
1446
  "text-anchor": "top",
@@ -1191,42 +1462,128 @@
1191
1462
  }
1192
1463
  },
1193
1464
  {
1194
- "id": "poi-you-are-here",
1465
+ "id": "poi-you-are-here-heading",
1195
1466
  "type": "symbol",
1196
1467
  "source": "poi-data",
1197
- "filter": ["==", ["get", "isYouAreHere"], true],
1198
- "minzoom": 16.5,
1468
+ "filter": [
1469
+ "all",
1470
+ ["==", ["get", "isYouAreHere"], true],
1471
+ ["==", ["get", "hasHeading"], true]
1472
+ ],
1473
+ "minzoom": 16,
1199
1474
  "layout": {
1200
- "icon-image": [
1201
- "coalesce",
1202
- ["get", "iconId"],
1203
- "you-are-here"
1475
+ "text-field": "▲",
1476
+ "text-size": [
1477
+ "interpolate", ["linear"], ["zoom"],
1478
+ 16, 28,
1479
+ 18, 34,
1480
+ 20, 42
1204
1481
  ],
1205
- "icon-size": [
1482
+ "text-font": ["Noto Sans Bold"],
1483
+ "text-anchor": "bottom",
1484
+ "text-offset": [0, -0.45],
1485
+ "text-rotate": ["get", "heading"],
1486
+ "text-rotation-alignment": "map",
1487
+ "text-pitch-alignment": "map",
1488
+ "text-allow-overlap": true,
1489
+ "text-ignore-placement": true
1490
+ },
1491
+ "paint": {
1492
+ "text-color": "#face00",
1493
+ "text-halo-color": "#162e51",
1494
+ "text-halo-width": 2.5,
1495
+ "text-opacity": 0.9
1496
+ }
1497
+ },
1498
+ {
1499
+ "id": "poi-you-are-here-ring",
1500
+ "type": "circle",
1501
+ "source": "poi-data",
1502
+ "filter": ["==", ["get", "isYouAreHere"], true],
1503
+ "minzoom": 16,
1504
+ "paint": {
1505
+ "circle-radius": [
1206
1506
  "interpolate", ["linear"], ["zoom"],
1207
- 16.5, 0.8,
1208
- 18.0, 1.0,
1209
- 20.0, 1.2
1507
+ 16, 14,
1508
+ 18, 18,
1509
+ 20, 24
1210
1510
  ],
1211
- "icon-allow-overlap": true,
1212
- "icon-ignore-placement": true,
1213
- "icon-anchor": "bottom",
1511
+ "circle-color": "#face00",
1512
+ "circle-opacity": 0.25,
1513
+ "circle-pitch-alignment": "map"
1514
+ }
1515
+ },
1516
+ {
1517
+ "id": "poi-you-are-here-dot",
1518
+ "type": "circle",
1519
+ "source": "poi-data",
1520
+ "filter": ["==", ["get", "isYouAreHere"], true],
1521
+ "minzoom": 16,
1522
+ "paint": {
1523
+ "circle-radius": [
1524
+ "interpolate", ["linear"], ["zoom"],
1525
+ 16, 7,
1526
+ 18, 9,
1527
+ 20, 12
1528
+ ],
1529
+ "circle-color": "#face00",
1530
+ "circle-opacity": 1,
1531
+ "circle-stroke-color": "#ffffff",
1532
+ "circle-stroke-width": 3,
1533
+ "circle-stroke-opacity": 1
1534
+ }
1535
+ },
1536
+ {
1537
+ "id": "poi-you-are-here",
1538
+ "type": "symbol",
1539
+ "source": "poi-data",
1540
+ "filter": ["==", ["get", "isYouAreHere"], true],
1541
+ "minzoom": 16,
1542
+ "layout": {
1214
1543
  "text-field": ["get", "name"],
1215
1544
  "text-size": [
1216
1545
  "interpolate", ["linear"], ["zoom"],
1217
- 17.5, 11,
1218
- 19.5, 13
1546
+ 16, 17,
1547
+ 18, 19,
1548
+ 20, 22
1219
1549
  ],
1220
- "text-offset": [0, 1.2],
1221
- "text-anchor": "top",
1550
+ "text-offset": [0, -1.8],
1551
+ "text-anchor": "bottom",
1222
1552
  "text-font": ["Noto Sans Bold"],
1223
- "text-optional": true
1553
+ "text-allow-overlap": true,
1554
+ "text-ignore-placement": true,
1555
+ "text-optional": false
1224
1556
  },
1225
1557
  "paint": {
1226
1558
  "text-color": "#ffffff",
1227
- "text-halo-color": "#000000",
1228
- "text-halo-width": 1.5,
1229
- "text-halo-blur": 0.8
1559
+ "text-halo-color": "#162e51",
1560
+ "text-halo-width": 2.5,
1561
+ "text-halo-blur": 0.5
1562
+ }
1563
+ },
1564
+ {
1565
+ "id": "poi-highlight-ring",
1566
+ "type": "circle",
1567
+ "source": "poi-highlight-data",
1568
+ "paint": {
1569
+ "circle-radius": 14,
1570
+ "circle-color": "#005ea2",
1571
+ "circle-opacity": 0.45,
1572
+ "circle-pitch-alignment": "map"
1573
+ }
1574
+ },
1575
+ {
1576
+ "id": "poi-highlight-core",
1577
+ "type": "circle",
1578
+ "source": "poi-highlight-data",
1579
+ "paint": {
1580
+ "circle-radius": 9,
1581
+ "circle-color": "#005ea2",
1582
+ "circle-opacity": 1,
1583
+ "circle-stroke-color": "#ffffff",
1584
+ "circle-stroke-width": 3,
1585
+ "circle-stroke-opacity": 1,
1586
+ "circle-pitch-alignment": "map"
1230
1587
  }
1231
1588
  }
1232
1589
  ]