stadiamaps / stadiamaps/ferrostar

Official maplibre-compose - Evaluate and upgrade

Open
#754 5 comments 2 reactions 0 assignees View on GitHub
android
Dominant language
Kotlin
Stars
419
Forks
81
Avg merge
6d 1h
Merged PRs (30d)
7

Description

Evaluate replacing [maplibre-compose-playground](https://github.com/Rallista/maplibre-compose-playground) with [maplibre-compose](https://github.com/maplibre/maplibre-compose) for our android target. If the migration looks promising and efficient, an MR is welcome.

### History

When ferrostar started, the only compose maplibre implementation was [Ramani Maps](https://github.com/ramani-maps/ramani-maps). It was relatively limited at that point, so we forked and created [maplibre-compose-playground](https://github.com/Rallista/maplibre-compose-playground) to add the camera behaviors (and some other features) required for ferrostar and the turn-by-turn navigation use case.

Since then, [maplibre-compose](https://github.com/maplibre/maplibre-compose) has become the official MapLibre compose library. It's got significantly more exposure, contribution, and should support most of our requirements.

### Why

- Ramani Maps is MPL-2.0. We'd prefer the more permissive BSD-3 of maplibre-compose.
- Performance issues. We've had several discussions on the ferrostar weekly call.
- Collaboration. Our Ramani fork has pretty limited usage, likely only ferrostar. As a result, we're missing out on a lot of collaboration and knowledge.
- None of the core ferrostar contributors here are android first by skill 😄

### Requirements

- [ ] All the basics: camera control, polyline, user puck.
- [ ] Android auto: https://github.com/Rallista/maplibre-compose-playground/pull/134. This isn't in ferrostar yet, but it's a short term goal and long term requirement. As a note though, it's possible the code from this PR can be moved directly to ferrostar, since there's no special maplibre stuff.
- [ ] Evaluate https://github.com/maplibre/maplibre-native/pull/3968 to mitigate android puck lag. This would have to happen in our maplibre-compose-playground, so it also must be performant here.
- [ ] Demo app upgrade.
- [ ] Migration guide.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.