| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
As reported by clang-tidy-8.
|
|
|
|
| |
As reported by clang-tidy-8.
|
|
|
|
|
|
|
|
|
|
| |
`Renderer::clearData()` is a better API than the removed `MapOptions::keepRenderData()`:
- gives more flexibility to the client
- similar to the existing `Renderer::reduceMemoryUse()`
- the `MapOptions::keepRenderData()` API implementation could not handle the raise condition, which
happened if the new still image request had come before all tiles from the previous requests were loaded.
Co-authored-by: Dane Springmeyer <dane@mapbox.com>
|
|
|
|
| |
Render orchestrator stores the render data between render frames if this flag is set.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
for `getVisibleCoordinateBounds`. (#16069)
* [android] Add getVisibleCoordinateBounds method.
* Fix Map::latLngBoundsForCamera, add Android binding for getVisibleRegionBounds.
* Add unit tests for CameraToLatLngBoundsWithRotation and CameraToLatLngBoundsCrossDateLine.
* Move API breaking changes to a new method name latLngBoundsForCameraUnwrapped.
|
| |
|
|
|
|
|
|
| |
* [core] Add batch conversion of latLng vs screenCoord
* [core] Take the simple approach
|
| |
|
|
|
|
| |
When padding is not provided, the current one that's cached in the TransformState is going to be returned.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The change is implemented in TransformState::getProjMatrix, the rest of the code is making sure that existing API contracts stay and there are tests verifyingrendering and render query processing only items within screen and given tolerance around screen edges.
MapView: don't bake edge insets into relalculated camera center. Keep edge insets as property of camera in TransformState (similar to pitch, zoom, bearing) independent from specified camera center. Interpolate edge insets in animation.
iOS Demo app: "Turn On/Off Content Insets" pitch the camera and navigate to convenient location in Denver, where streets are parallel to cardinal directions, to illustrate viewport center offset when edge insets are set.
Tests:
ViewFrustumCulling: although Annotations are deprecated, queryRenderedFeatures related tests in Annotations would need to get ported and decided to add the edge insets related query tests next to them. Verify frustum culling (render+queryRenderedFeatures) With different camera and edge insets setups. TODO: port Annotations tests.
Transform.Padding: Verify that coordinates take proper place on screen after applying edge insets.
LocalGlyphRasterizer: verify text rendering when applying padding.
Related to #11882: both use projection matrix elements [8] and [9].
Alternative approach to this was to increase and offset map origin so that the screen would be a sub-rectangle in larger map viewport. This approach has a drawback of unecessary processing the items that are outside screen area.
Fixes #12107, #12728, navigation-sdks/issues/120
|
|
|
|
| |
MapObserver interface
|
|
|
|
|
|
|
|
|
|
| |
- Do not carry it over everywhere as parameter, it is a shared
instance anyway and the lifecycle is pretty much the app lifecycle
from the moment we instantiate a map.
- Rename to BackgroundScheduler because it is a Scheduler that will
do tasks in the background, we don't make assumptions if it is a
thread pool or a single thread.
- Most importantly, remove the dependency from `core` on `platform`.
|
| |
|
|
|
| |
Also make `Style#updateImage(...)` much faster when the image doesn't change size. This can be useful for asynchronously generating images.
|
|
|
|
| |
Move pixelRatio property from Map constructor to MapOptions.
|
| |
|
| |
|
|
|
|
|
| |
Instead of having individual getter for each Map option,
add a common getter for all Map options.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Group bounds, minimum and maximum zoom related methods together using
the new BoundOptions.
v2: Document that getBounds() initializes all optional fields.
- Add test for getBounds() on a map with default values.
|
|
|
|
|
|
|
|
| |
This is a first step into grouping together bounds related Map methods
into one that takes a "BoundOptions" object. LatLngBounds::unbounded()
replaces an undefined optional<LatLngBounds>.
v2: Document LatLngBounds::unbounded()
|
|
|
|
|
|
|
|
|
| |
Support for limiting pitch was introduced in commit c4fc89977bcb ([core]
Added {set,get}{Min,Max}Pitch) in 2017 but was never exposed by the
platform SDKs. Simplify the Map interface by removing this unused
feature.
v2: Add util::PITCH_MIN
|
|
|
|
|
|
|
| |
Using different exception pointers to specify the loading failure makes
an awkward API. Most users rethrow the exception only to figure out what
type of error happened so it can be reported properly. So replace the
exception pointer with a enum an string description of the failure.
|
|
|
|
|
|
| |
To simplify the Map constructor, introduce MapOptions
interface to define the properties that can be set on
a Map.
|
|
|
|
|
|
|
| |
Instead of having individual APIs for setting axonometric
and skew options, create ProjectionMode struct that holds
all the relevant options for Axonometric rendering and
introduce setter/getter on the Map for those options.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
didEnterIdle fires whenever render completes and no repaint is scheduled.
|
| |
|
| |
|
| |
|
|
|
|
| |
radians
|
|
|
|
|
| |
[node] Hook up map-wide "crossSourceCollisions" option, defaulting to true.
[test] Pass "crossSourceCollisions" test option through test harness; enable cross-source-collisions tests on native.
|
| |
|
|
|
|
|
| |
`Tile` makes sure the symbols in the resulting tile are tileable while
symbols in `Still` match rendering in `Continuous` mode.
|
| |
|
| |
|