maplibre / maplibre/maplibre-plugins-android

MarkerView Plugin

Open
#28 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
50
Forks
33
PR merge metrics
No merged PRs in 30d

Description

The marker view plugin has multiple issues at this moment that make it infeasible to be used in some cases.

* Right now, each and every marker added through it is a `View`. Sometimes you need many markers and only show details on click, which would right now require, as far as I can tell, removing the "normal", performant marker (rendered with native code) and replacing it with a `MarkerView`.
* All the markers being views also results in some latency relative to the map moving. So far I haven't been able to figure out how to position views on top of the map exactly in sync with the map. It feels like it should be possible – maybe it is easier to achieve if this feature is moved to maplibre-native and there's some code to support synced rendering there.

Additional info: I have written code for microG's maps that implement [Google Maps info windows](https://developers.google.com/maps/documentation/android-sdk/infowindows#custom_info_windows). Maybe this can be useful somewhere, just wanted to mention it here. MapLibre-native itself also has such an imementation for its own marker annotation implementation.

cc @louwers

Contributor guide

Open the contributing guide

Research direction

Start by inspecting the MarkerView plugin entry point and how it creates and positions markers. Compare the referenced Google Maps info-window behavior with MapLibre Native’s marker annotation implementation. Done should support performant native markers with details shown on click and keep view positioning synchronized while the map moves.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
mobile
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.