Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Expose tile level of details (LOD) parameters to Android. Controlling the LOD gives MapLibre clients the ability to control performance scalability. This is already exposed to some level with the parameter
pixelRatio
but the optionpixelRatio
changes the view so it's typically set once when the application starts and the styling and camera need to be setup for the chosenpixelRatio
.This PR exposes controlling an offset (shift) to the zoom level. If performance drops below a certain FPS, an application can decide to lower the zoom level to reduce the number of processed and displayed tiles.
Similarly when the screen is tilted (Often the case during active Navigation on large display infotainment devices), tiles away from the camera could use lower zoom levels to maintain a certain level of performance. This PR exposes controlling the pitch angle threshold and the distance to camera to lower zoom levels.
Example:
What we currently get on a 4K display with 45 degrees pitch
Example where zoom is offset by +0.75 (usually a negative value would be used to improve performance):
Example where the pitch and distance to camera parameters allow for a lower zoom levels away from the camera view target: