| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Also implement a Timer and AsyncTask based on Android's Looper.
|
| |
|
|\ |
|
| |
| |
| |
| | |
Only Map needs to track this state, and it can simply be set when beginning to load a style and reset when finished.
|
| |
| |
| |
| | |
We don't expect toString to be called with a null std::exception_ptr. But if it is, we'd prefer not to terminate the process in release builds.
|
| | |
|
| |
| |
| |
| | |
also adds a EAGL implementation for iOS
|
| |
| |
| |
| | |
boost's crc64 breaks on iOS
|
| |
| |
| |
| |
| |
| | |
This new code can be used for rendering on the Main thread
while it will also work for rendering on the Map thread
before we make the switch. Needed by #2909.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Simplify LatLng::{wrap,unwrapForShortestPath} code, avoiding duplicated
code between Transform::{latLngToScreenCoordinate,easeTo,flyTo}.
Added unit tests for camera usage in Transform to detect cases like e.g.
crossing the antimeridian as a shortest path between two coordinates.
Transform::flyTo precision loss to be handled in #4298.
|
| | |
|
|/
|
|
|
| |
Use optional values for anchor & padding in Map and Transform functions
instead of NaNs. Added unit tests to stress some edge cases.
|
| |
|
| |
|
|
|
|
| |
vec2<T>::operator bool() checks for NaNs already.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Make returning LatLngs unwrapped by default.
- PointAnnotation and ShapeAnnotation are always wrapped so they can be
selected via intersection from the visible tile boundaries.
- Fixes LatLng::wrap() calculation.
- Fixes LatLng::unwrapForShortestPath() calculation.
The new unwrapForShortestPath algorithm unwraps the start coordinate
either forwards or backwards depending on the end coordinate value, so
we can always cross the antimeridian when needed and still obtain a
wrapped end coordinate in the end.
Fixes #4214.
|
|
|
|
| |
Use the newly added NetworkStatus::Set().
|
|
|
|
|
|
|
|
| |
This API will let the client force a network status. If set
to Offline, we won't make network requests.
When set make to Online, it will trigger the pending requests
and try to fetch tiles from the network.
|
| |
|
|
|
|
|
|
|
| |
When porting this from Transform::unwrapLatLng, I forgot to check for
the second alternative.
Fixes #4174.
|
|
|
|
| |
Plus type change for zoom and removed redundant inlines.
|
| |
|
|
|
|
| |
Fixes a precision loss when converting unwrapped LatLngs.
|
| |
|
| |
|
|
|
|
|
| |
Also introduced GeometryCoordinates (vector of GeometryCoordinate
items), to better cope with GeometryCollection.
|
|
|
|
|
| |
Use 'LATITUDE_MAX', 'LONGITUDE_MAX', 'DEG2RAD' and 'RAD2DEG' whenever
possible.
|
|
|
|
| |
Fix no viable conversion on OSX.
|
|
|
|
|
|
|
|
|
|
| |
If the server keeps sending replies considered from the client in the
past (there is no way to tell if the server or client clock is wrong),
the client will try to interpolate a valid expiration time based
on the delta of the expiration intervals sent by the server.
If the intervals are always the same, exponential backoff kicks in
until we get a different expiration time from what we already have.
|
| |
|
|
|
|
|
|
| |
status.requiredResourceCountIsPrecise
Change the name and reverse the sense. Naming things in the positive is better than naming them in the negative.
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Introduced a setter/getter for constrain mode. On iOS and OS X, the zoom level inspectable causes the zoom level to be set independently from the longitude and latitude. Thus, the latitude inspectable had no effect because the latitude was constrained to 0 at z0. Temporarily removing the heightwise constraint allows the map to center on the intended location before zooming, which is the usual case for storyboards and XIBs. On iOS, the only guarantee we have timing-wise is that all the inspectables are applied after initialization but before the view is added to a window. So we reimpose the heightwise constraint as soon as the view is added to a window, that is, before the user has a chance to pan the map out of bounds.
Fixes #3868.
|
| | |
|
| | |
|
| |
| |
| |
| | |
port https://github.com/mapbox/mapbox-gl-js/pull/2043 from -js
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Instead, the eviction policy accounts for the actual size needed for an incoming put.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When inserting an cached resource, or removing a region, remove least-recently used resources and tiles, not used by offline regions, until the used database size, as calculated by multiplying the number of in-use pages by the page size, is less than the maximum cache size minus 5 times the page size.
In addition, OfflineDatabase may be configured to ignore cache puts of individual resources larger than a certain size.
This policy is similar but not identical to the former SQLiteCache policy:
* It accounts for offline, by exempting resources required by offline regions from eviction.
* It must delete from two tables (resources and tiles), rather than one. Currently the strategy is naive: evict 50 rows at a time from each table.
* It makes maximumCacheSize and maximumCacheEntrySize completely independent. The SQLiteCache implementation evicted when `usedSize > maximumCacheSize - 2 * maximumCacheEntrySize`. This evicts when `usedSize > maximumCacheSize - 5 * pageSize`.
* It uses a non-unlimited default value for maximumCacheSize: 50 MB. We should have always had a limit in place; "a cache without an eviction policy is a resource leak".
|
| | |
|