Ivo van Dongen
fae099933b
[core] offline region definition - add support for arbitrary geometries
2018-08-20 22:49:01 +03:00
Konstantin Käfer
fa7b70945f
[core] harden OfflineDatabase
2018-08-14 17:03:46 -07:00
Zsolt Bölöny
bc6094eb55
[core] Fix GCC8's new -Wcatch-value warnings
...
Polymorphic types shouldn't be caught by value, as the warning message says. Catch them by constant reference instead.
2018-06-25 10:07:04 -07:00
Ivo van Dongen
d928908ec8
[core] offline database - batch region resource inserts
2018-06-04 12:09:32 +03:00
Molly Lloyd
f3294200c6
[core] add raster-dem source type and hillshade layer type ( #10642 )
2018-01-23 10:49:23 -08:00
Asheem Mamoowala
acae193861
[core] Custom Geometry Sources
2017-11-22 13:56:38 -08:00
Asheem Mamoowala
50fd917510
Fast tileCount with help from @mapbox/sphericalmercator module
2017-09-08 17:38:42 -07:00
Asheem Mamoowala
8b37a0704c
[core] Use fixed-size std::array for ImageSource coordinates
2017-06-01 15:38:01 -07:00
Asheem Mamoowala
aa6647e910
[core] Offline support for Image Sources
2017-06-01 15:38:01 -07:00
Asheem Mamoowala
7a010df956
[core] Add ImageSource support to style parsers
2017-06-01 15:38:01 -07:00
John Firebaugh
c2a5894f2d
[core] Immutable Impls
2017-05-12 11:26:27 -07:00
Bruno de Oliveira Abinader
fa36110dfb
[tidy] modernize-use-auto
2017-05-12 18:07:36 +03:00
John Firebaugh
baaae99a03
[core, android] Factor JSON string conversions
...
This adds a `convertJSON` template, to be used like:
Error error
optional<Foo> foo = convertJSON<Foo>(string, error);
Internally, it parses the string with RapidJSON and then calls `convert<Foo>(parsed, error)`.
While here, rationalize GeoJSON converters and fix error handling for Tileset conversion in OfflineDownload.
2017-05-08 13:48:57 -07:00
John Firebaugh
3f0c89d633
[core] Refactor Source::*Impls into RenderSources and TilePyramid
2017-05-02 08:45:09 -07:00
Konstantin Käfer
62ea1f2185
[core] remove trailing whitespace, add trailing newlines, add space after //
2017-01-27 11:44:16 +01:00
Chris Loer
40b0c8d076
[core] Use UTF-16 instead of UTF-32 for label features to avoid extra conversions and reduce in-memory size.
...
Continue to use uint32 as glyph ID to maintain Glyph PBF, even though we're only using 16 bits of that uint32.
Use std::codecvt instead of boost::unicode_iterator for UTF8->UTF16 conversions.
2016-11-17 14:33:03 -08:00
Tore Halset
a4b79ac289
[core] Optimize OfflineDownload::ensureResource ( #6707 )
...
Add `OfflineDatabase::hasRegionResource`, for use when the actual contents are not needed by the caller, avoiding IO and decompression costs.
2016-10-17 09:27:07 -07:00
John Firebaugh
a9842dbd6b
[core] Extract some GlyphRange-related constants
2016-09-26 14:55:49 -07:00
John Firebaugh
8764c20621
[core] Provide rationale for blocking queue while errors resolve
2016-09-26 14:55:49 -07:00
John Firebaugh
570bafcfec
[core] Don't allow OfflineDownload to flood the request queue
2016-09-26 14:55:49 -07:00
John Firebaugh
d2abb1b6d5
[core] Change GeoJSONSource::getURL() to return an optional<std::string>
...
GeoJSON sources may have inline GeoJSON rather than a URL; returning an optional type ensures that consumers handle this case.
2016-08-26 10:30:55 -07:00
Konstantin Käfer
18176605f6
[core] support "scheme": "tms" in TileJSON files
2016-08-16 11:04:30 +02:00
Vladimir Agafonkin
9ecc0d9597
GeoJSON point clustering ( #5724 )
...
* add supercluster dependency
* prepare GeoJSONTile for Supercluster
* prepare GeoJSONSource for accepting options
* try removing mbgl::GeoJSON
* fix setGeoJSON types
* add GeoJSONSource getURL
* add geojson to include path
* add Supercluster index in GeoJSONSource
* fix GeoJSONSource getZoomRange
* bring back mbgl::GeoJSON header
* fix tidy warnings hopefully
* try test-suite with enabled cluster test
* fix formatting in clustering-related files
2016-07-27 20:18:41 +03:00
John Firebaugh
b8326870e1
[core] Increment completedTileCount when appropriate ( #5475 )
2016-06-24 15:28:10 -07:00
John Firebaugh
021d4199cb
[core, node] Implement bindings for addSource
2016-06-24 09:39:51 -07:00
John Firebaugh
900568cfb0
[core] Runtime source API: private impls
2016-06-16 13:27:15 -07:00
John Firebaugh
41760b5696
[core] Use variant<std::string, GeoJSON> in GeoJSON source
2016-06-15 11:28:34 -07:00
John Firebaugh
87edff4047
[core] Use variant<std::string, Tileset> in TileSource
...
A tile source can either specify a URL to TileJSON, or inline TileJSON.
2016-06-15 11:28:34 -07:00
John Firebaugh
5bbcca8326
[core] Add virtual Source::getTileSize()
2016-06-14 11:25:45 -07:00
John Firebaugh
9d3c4fbbb0
[core] Push Source::url down to subclasses
2016-06-14 11:25:45 -07:00
John Firebaugh
9dfcb95e4f
[core] Push Source::tileset down to TileSource
2016-06-14 11:25:45 -07:00
John Firebaugh
6eab895bc0
[core] Use Range<uint8_t> instead of full Tileset where possible
2016-06-14 11:25:45 -07:00
John Firebaugh
c902f9098b
[core] Rationalize naming for style-related code
2016-06-02 14:51:39 -07:00
John Firebaugh
a43940afb2
[core] Runtime style layer API
2016-06-02 14:51:39 -07:00
Brent Whitman
a706a2a48d
[ios, osx] Add a property for bytes used by offline tiles
2016-04-27 13:41:29 -07:00
John Firebaugh
5eda74a514
Merge branch 'release-ios-3.2.0-android-4.0.0'
2016-03-30 17:43:37 -07:00
John Firebaugh
169755e89a
[core] Unify FileRequest and WorkRequest
2016-03-24 10:54:32 -07:00
Jesse Bounds
bcb3bb0931
[core] Stop download when tile limit is reached
...
The tile limit guard (when used) stops a download from continuing
when the tile limit is reached. This wraps the guard in a method
and employs it in both places currently necessary to ensure the
guard has a chance to function. Tests have been updated to
ensure the fix works for a less trivial tile limit scenario.
2016-03-17 15:52:18 -07:00
Minh Nguyễn
4748973c04
[core] Deactivate offline region upon completion
2016-03-11 11:43:32 -08:00
John Firebaugh
7cceca4b45
[core] Deactivate OfflineDownload when the tile count limit is hit
...
This is a better behavior than sending hundreds or thousands of tileCountLimitExceeded notifications.
2016-03-09 13:40:00 -08:00
John Firebaugh
e49c1e3da3
[core] Fix offline status reporting regressions
...
The core of the change is ensuring that ensureResource doesn't release Zalgo: it should be consistently async, rather than async in the case that the resource doesn't exist in the database, but sync if it does.
This ensures that status is reported in a more consistent sequence, regardless of the database state.
2016-03-08 10:28:33 -08:00
John Firebaugh
a3791b2325
[core] Ensure OfflineRegionStatus::downloadState is accurately reported
2016-03-07 19:08:03 -08:00
John Firebaugh
eb9b463841
[core] Fix offline status reporting with pre-existing tiles ( #4147 )
2016-03-04 15:15:09 -08:00
John Firebaugh
065cda83fa
[core] Limit total number of offline Mapbox tiles
2016-02-24 13:38:14 -08:00
John Firebaugh
65c06e6270
[core] status.requiredResourceCountIsIndeterminate ⇢ status.requiredResourceCountIsPrecise
...
Change the name and reverse the sense. Naming things in the positive is better than naming them in the negative.
2016-02-24 13:38:14 -08:00
Young Hahn
43c44eccdc
Allow using tileSize: 512 as a switch to trade retina support for 512px raster tiles
2016-02-11 11:28:35 -08:00
John Firebaugh
0cf450e3e5
[core] Retry errors encountered during offline downloads
2016-02-10 15:40:20 -08:00
John Firebaugh
c3c4c7b9a6
[core] Interface and implementation for offline
2016-02-10 15:40:20 -08:00