Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add MapLibreGL #420

Merged
merged 112 commits into from
Sep 2, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
d9093c5
feat(base-map): add typescript, migrate from leaflet to maplibre-gl
miles-grant-ibigroup Jun 3, 2022
4d6f0cd
refactor(base-map): complete leaflet transition
miles-grant-ibigroup Jun 3, 2022
5284f58
refactor(base-maps): remove prop types
miles-grant-ibigroup Jun 3, 2022
9e07862
refactor(base-map): add MarkerWithPopup
miles-grant-ibigroup Jun 3, 2022
67429f0
feat(endpoints-overlay): move to MapLibreGL
miles-grant-ibigroup Jun 3, 2022
f4d550b
refactor(base-map): adjust MarkerWithPopup props
miles-grant-ibigroup Jun 3, 2022
8fbc062
feat(park-and-ride-overlay): Add typescript and migrate to MapLibreGL
miles-grant-ibigroup Jun 3, 2022
4f33fc9
refactor(mapLibreGL): cleanup
miles-grant-ibigroup Jun 3, 2022
afb662e
feat(route-viewer-overlay): Add typescript, migrate to MapLibreGL
miles-grant-ibigroup Jun 3, 2022
a37f4da
feat(stop-viewer-overlay): Add typescript, migrate to MapLibreGL
miles-grant-ibigroup Jun 6, 2022
48db4ac
feat(zoom-based-markers): Add typescript, migrate to MapLibreGL
miles-grant-ibigroup Jun 6, 2022
7dd8e28
feat(stops-overlay): Add typescript, migrate to MapLibreGL
miles-grant-ibigroup Jun 6, 2022
a286fb6
refactor: improve MapLibreGL performance
miles-grant-ibigroup Jun 6, 2022
b8cc4c3
refactor: flex route rendering improvements
miles-grant-ibigroup Jun 6, 2022
cfb0b79
chore(deps): add types dependency
miles-grant-ibigroup Jun 7, 2022
1a9ba9e
feat(transitive-overlay): Add Typescript, move to MapLibreGL
miles-grant-ibigroup Jun 9, 2022
29c13c6
refactor(stops-overlay): move to GeoJSON rendering
miles-grant-ibigroup Jun 10, 2022
6b690d0
refactor(stops-overlay): improve performance
miles-grant-ibigroup Jun 10, 2022
7b047a9
refactor(stops-overlay): complete typescripting
miles-grant-ibigroup Jun 10, 2022
6e68702
refactor: cleanup typescript
miles-grant-ibigroup Jun 10, 2022
9b4ae21
feat(trip-viewer-overlay): Add typescript, move to MapLibreGL
miles-grant-ibigroup Jun 10, 2022
1b5edf4
Merge branch 'master' into vector-tiles
miles-grant-ibigroup Jun 10, 2022
ede06de
feat(vehicle-rental-overlay): Add Typescript, MapLibreGL
miles-grant-ibigroup Jun 10, 2022
570e08c
refactor(vehicle-rental-overlay): restore support for ferris wheel in…
miles-grant-ibigroup Jun 10, 2022
ff6c9ce
refactor: avoid crashes
miles-grant-ibigroup Jun 10, 2022
ba85a31
refactor(base-map): support toggling layer visibility
miles-grant-ibigroup Jun 13, 2022
d617cab
refactor(base-map): improve optional layer rendering
miles-grant-ibigroup Jun 14, 2022
c452d31
refactor(route-viewer-overlay): fix auto-bounds-update
miles-grant-ibigroup Jun 14, 2022
7664c69
refactor(stops-overlay): add previous refreshStops prop
miles-grant-ibigroup Jun 14, 2022
f73aea1
refactor(stops-overlay): improve performance
miles-grant-ibigroup Jun 14, 2022
f1cf8d1
refactor(vehicle-rental-overlay): don’t allow phantom popups
miles-grant-ibigroup Jun 14, 2022
4e46d76
refactor: cleanup and address bugs
miles-grant-ibigroup Jun 14, 2022
6e6ceed
refactor(base-map): reduce inline styling
miles-grant-ibigroup Jun 15, 2022
ed9a9f2
refactor(vehicle-rental-overlay): support companies prop
miles-grant-ibigroup Jun 15, 2022
9370e50
refactor(base-map): add forceMaxHeight prop
miles-grant-ibigroup Jun 15, 2022
f177895
feat(base-map): Migrate to Typescript, Migrate to MapLibreGL
miles-grant-ibigroup Jun 16, 2022
d6b66ba
refactor(base-map): add comments about cleanup
miles-grant-ibigroup Jun 16, 2022
27d0b92
refactor(trip-viewer-overlay): avoid crash on missing geometry
miles-grant-ibigroup Jun 20, 2022
8148874
refactor(vehicle-rental-overlay): adjust ferris wheel math
miles-grant-ibigroup Jun 20, 2022
9c00833
refactor(base-map): address pr feedback
miles-grant-ibigroup Jun 21, 2022
bd29f52
Merge branch 'vector-tiles-base-map' into vector-tiles
miles-grant-ibigroup Jun 21, 2022
de2eb50
chore: correct typo
miles-grant-ibigroup Jun 21, 2022
ab63aaa
chore: update snapshots
miles-grant-ibigroup Jun 21, 2022
f6f23fb
Merge branch 'vector-tiles-base-map' into vector-tiles
miles-grant-ibigroup Jun 21, 2022
87663bb
refactor(route-viewer-overlay): standardize bounds padding
miles-grant-ibigroup Jun 21, 2022
a7d3cff
refactor(route-viewer-overlay): remove allowMapCentering prop
miles-grant-ibigroup Jun 21, 2022
d5304c3
refactor(stops-overlay): grab stop info less aggressively
miles-grant-ibigroup Jun 21, 2022
ec783ab
refactor(base-map): hide layers menu until hover
miles-grant-ibigroup Jun 21, 2022
2568292
refactor: prepare for updating tests
miles-grant-ibigroup Jun 22, 2022
8b90a3e
refactor: use base-map alpha version
miles-grant-ibigroup Jun 22, 2022
362edc7
refactor(base-map): address pr feedback
miles-grant-ibigroup Jun 24, 2022
c4c1042
refactor(base-map): use `useCallback` for hidden layer update method
miles-grant-ibigroup Jun 24, 2022
7d00a53
refactor(base-map): expose react-map-gl props, add story with controls
miles-grant-ibigroup Jun 24, 2022
82cf6e3
refactor: address pr feedback
miles-grant-ibigroup Jun 24, 2022
27c3b1b
Merge branch 'vector-tiles-base-map' into vector-tiles
miles-grant-ibigroup Jun 27, 2022
0f9b341
refactor(route-viewer-overlay): increase bounds padding
miles-grant-ibigroup Jun 27, 2022
c1c5ffe
Merge branch 'master' into vector-tiles
miles-grant-ibigroup Jun 28, 2022
721af7e
refactor: improve automatic bounds fitting
miles-grant-ibigroup Jun 29, 2022
d0e02d8
refactor(trip-viewer-overlay): improve fitBounds
miles-grant-ibigroup Jun 29, 2022
4f195fb
refactor: allow mobile users to open layer menu
miles-grant-ibigroup Jun 29, 2022
247aa0c
feat(transit-vehicle-overlay): remove leaflet, migrate to MapLibreGL
miles-grant-ibigroup Jun 30, 2022
66ba314
refactor: global fitBounds settings
miles-grant-ibigroup Jul 1, 2022
eded9ce
refactor(base-map): don’t pan to null island
miles-grant-ibigroup Jul 1, 2022
2ebc1ed
refactor(base-map): remove obsolete comment
miles-grant-ibigroup Jul 11, 2022
d734e04
test: clean up to pass tests
miles-grant-ibigroup Jul 11, 2022
393bda4
Merge branch 'master' into vector-tiles
miles-grant-ibigroup Jul 11, 2022
a3850af
chore: correct typo
miles-grant-ibigroup Jul 11, 2022
04df0d7
refactor(TransitiveOverlay): adapt new story for vector tiles
miles-grant-ibigroup Jul 11, 2022
e780cb1
refactor(stop-viewer-overlay): correct imports
miles-grant-ibigroup Jul 11, 2022
364f994
chore(deps): correct transit-vehicle-overlay dependencies
miles-grant-ibigroup Jul 11, 2022
5cc60e4
chore(deps): add icons as peer dependency
miles-grant-ibigroup Jul 11, 2022
768f79f
chore(deps): add icons as peer dependency
miles-grant-ibigroup Jul 11, 2022
46d4585
chore(deps): adjust icons dependency
miles-grant-ibigroup Jul 11, 2022
48590a4
refactor(stop-viewer-overlay): disable a11y on storybook-only component
miles-grant-ibigroup Jul 11, 2022
4349d0c
refactor(base-map): don’t show layer selector multiple times
miles-grant-ibigroup Jul 12, 2022
449c786
refactor: address first round of pr comments
miles-grant-ibigroup Jul 19, 2022
7538abe
refactor: address second round of pr comments
miles-grant-ibigroup Jul 19, 2022
a50e7b7
Merge branch 'master' into vector-tiles
miles-grant-ibigroup Jul 19, 2022
d49f2b7
refactor: address third round of pr comments
miles-grant-ibigroup Jul 19, 2022
5ba8359
refactor(route-viewer-overlay): explain non-filter map performance de…
miles-grant-ibigroup Jul 19, 2022
9c203d1
refactor(base-map): restore LayerSelector non-duplication behavior
miles-grant-ibigroup Jul 21, 2022
f2c6424
Merge branch 'master' into vector-tiles
miles-grant-ibigroup Jul 22, 2022
754ff62
refactor: upgrade core-utils, add useCallback, sort props
miles-grant-ibigroup Jul 22, 2022
698b729
chore(deps): correct types dependency in from-to-location-picker
miles-grant-ibigroup Jul 22, 2022
930672b
chore(deps): update snapshots after internal dep updates
miles-grant-ibigroup Jul 22, 2022
cf86850
refactor(stops-overlay): correct render regression introduced by pr r…
miles-grant-ibigroup Jul 22, 2022
7301bad
refactor(transitive-overlay): support focusing passed-in activeLeg
miles-grant-ibigroup Jul 22, 2022
370af08
refactor(base-map): Remove forceMaxHeight prop.
binh-dam-ibigroup Jul 25, 2022
77d12fc
refactor(base-map): Remove passedRef prop.
binh-dam-ibigroup Jul 25, 2022
97d7e64
refactor: correct types
miles-grant-ibigroup Jul 26, 2022
4572f7d
refactor: remove `forceMaxHeight`
miles-grant-ibigroup Jul 26, 2022
7e79d5b
Merge pull request #426 from ibi-group/vector-tiles-qbd
miles-grant-ibigroup Jul 26, 2022
9a96be0
refactor: address pr comments
miles-grant-ibigroup Jul 28, 2022
e70ca8b
refactor: share story BaseMap wrapper across packages
miles-grant-ibigroup Jul 28, 2022
6bef36d
refactor: repair regressions from `withMap` decorator
miles-grant-ibigroup Jul 28, 2022
1ef266a
refactor: address pr feedback
miles-grant-ibigroup Aug 2, 2022
ad0d04a
revert(base-map): address regression caused by moving to `useCallback`
miles-grant-ibigroup Aug 2, 2022
e661207
refactor(base-map): remove `withMap` from incompatible stories
miles-grant-ibigroup Aug 2, 2022
1bcb8c9
test(TransitVehicleOverlay): update snapshots
miles-grant-ibigroup Aug 2, 2022
d25d1e6
test(TransitVehicleOverlay): complete story renaming
miles-grant-ibigroup Aug 2, 2022
8d3e8a3
chore(deps): upgrade types package version
miles-grant-ibigroup Aug 8, 2022
24fc496
Merge branch 'master' into vector-tiles
miles-grant-ibigroup Aug 8, 2022
3abbf91
refactor: address ts errors
miles-grant-ibigroup Aug 8, 2022
4402c6b
refactor(base-map): remove problematic unused prop
miles-grant-ibigroup Aug 8, 2022
b19894b
ci: attempt to resolve ts issues
miles-grant-ibigroup Aug 8, 2022
a5981be
Merge branch 'master' into vector-tiles
miles-grant-ibigroup Aug 17, 2022
27d09c2
refactor(transitive-overlay): more aggressively upright text rendering
miles-grant-ibigroup Aug 17, 2022
eee5eb2
Merge branch 'master' into vector-tiles
miles-grant-ibigroup Aug 24, 2022
126e430
chore(deps): remove transitive.js dependency until it is gains WebGL …
miles-grant-ibigroup Aug 24, 2022
9ae8474
chore(deps): add dependency previously added via transitive.js
miles-grant-ibigroup Aug 24, 2022
1ec8b10
docs: add vector tile migration info
miles-grant-ibigroup Aug 24, 2022
f8f725f
Merge branch 'master' into vector-tiles
miles-grant-ibigroup Aug 31, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .storybook/base-map-wrapper.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import React from 'react'
import BaseMap, { Styled as BaseMapStyled } from "@opentripplanner/base-map";

// BaseMap props
const CENTER = [45.5215, -122.686202];
const ZOOM = 16;

export const withMap = (center = CENTER, zoom = ZOOM) => (
Story
) => (
<BaseMapStyled.StoryMapContainer>
<BaseMap center={center} zoom={zoom}>
{/* For some reason, <Story /> does not work with snapshots,
so use the function syntax instead. */}
{Story()}
</BaseMap>
</BaseMapStyled.StoryMapContainer>
);
5 changes: 5 additions & 0 deletions .storybook/preview.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,11 @@ export const parameters = {
// Appears to be a story bug
id: "duplicate-id-aria",
reviewOnFail: true
},
{
// Not really applicable to stories and causes problems with the WithMap decorator
id: "landmark-unique",
enabled: false
}
],
},
Expand Down
25 changes: 25 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,28 @@ This repo utilizes the [Storyshot](https://storybook.js.org/docs/react/workflows
This project uses semantic-release to create releases to NPM. It is expect that contributors create [Conventional Commit](https://www.conventionalcommits.org/en/v1.0.0/) messages. These are then parsed by semantic-release which will automatically create an appropriate release for each package whenever a branch is merged to master.

Sometimes when creating new releases, it will be necessary to update numerous packages within this repo at once to a newer internal package version. For this purpose there is the `update-internal-dependencies` script. This should be ran manually as needed. By default, `yarn update-internal-dependencies` will update all dependencies with the `@opentripplanner` scope in all packages within this project. To only update specific dependencies, it is possible to run something like `yarn update-internal-dependencies core-utils base-map`. This would update all dependencies on either the `@opentripplanner/base-map` or the `@opentripplanner/core-utils` in all packages in this project.

## Raster Tile Versions

As of Fall 2022, the otp-ui map layers have migrated from [Leaflet](https://leafletjs.com) to [MapLibreGL](https://maplibre.org/projects/maplibre-gl-js/). This migration was a breaking change, so existing uses of otp-ui should be unaffected. If you wish to migrate to the latest version, please see the [Migration Guide](https://github.com/opentripplanner/otp-ui/blob/master/VECTOR-TILES-MIGRATION-GUIDE.md).

We understand not all will want to upgrade to vector tiles right away, and so will be maintaining the _raster tile_ versions of all relevant packages for the foreseeable future.

The following table lists the last major version of each package which uses raster tiles. These major versions will receive fresh minor versions as updates are needed.

| Package | Latest Major Version with Raster Tiles |
| ------------------------- | -------------------------------------- |
| `base-map` | 2 |
| `core-utils` | 7 |
| `endpoints-overlay` | 1 |
| `itinerary-body` | 4 |
| `park-and-ride-overlay` | 1 |
| `route-viewer-overlay` | 1 |
| `stop-viewer-overlay` | 1 |
| `stops-overlay` | 4 |
| `transit-vehicle-overlay` | 2 |
| `transitive-overlay` | 2 |
| `trip-viewer-overlay` | 1 |
| `types` | 3 |
| `vehicle-rental-overlay` | 1 |
| `zoom-based-markers` | 1 |
5 changes: 5 additions & 0 deletions VECTOR-TILES-MIGRATION-GUIDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Vector Tiles Migration Guide

Due to otp-ui's `base-map` package, the migration to [MapLibreGL](https://maplibre.org/projects/maplibre-gl-js/) is quite smooth for those implementing an otp-ui map.

Key props in `base-map` have stayed the same. After updating your tile URL to a vector tile json file (any vector tile set compatible with MapBoxGL will work), things should work with minimal changes. MapLibreGL allows for some new settings, and others are deprecated. Some props throughout all layers have changed. All packages are now typescripted, which means that it is easy to see which props have changed.
181 changes: 0 additions & 181 deletions __mocks__/leaflet.js

This file was deleted.

Loading