-
Notifications
You must be signed in to change notification settings - Fork 122
Conversation
…arwin/developer.xcconfig
a1d5397
to
20251be
Compare
platform/ios/CHANGELOG.md
Outdated
- Source Modularization. | ||
Introduces a SourceManager + *SourceFactory classes similar to the work done on layer modularization. | ||
|
||
- [core] Enable source "volatile" flag initialization in style. | ||
|
||
The source `volatile` flag value can be defined in the style as following: | ||
|
||
``` | ||
"example_source": { | ||
"volatile": true | ||
} | ||
``` | ||
|
||
For the sources with the `volatile` flag set, the tiles are not stored in the local storage. The `volatile` flag is applicable for all source types, which allow loading tiles from a remote server i.e. `vector`, `raster`, `raster-dem` source types. For other source types this setting is ignored. | ||
|
||
- [core] Enable `Renderer::collectPlacedSymbolData()` API for all map modes. | ||
|
||
Before, it was functional only for the `Tile` map mode. | ||
|
||
- [core] Add `emphasis-circle-color` and `emphasis-circle-radius` properties to LocationIndicator layer. | ||
|
||
LocationIndicator layer gets the ability to draw an additional circle, controlled via these two properties, to create effects that emphasize the indicator. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don’t think any of these changes are applicable to the iOS or macOS map SDK yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@1ec5 what do you think is missing / blocking the availability of the source volatile
flag? GL Native enabled customers setting the flag in the style, and I thought that should flow through to the iOS SDK, particularly since caching is controlled in native
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, I overlooked that one. It should work fine, but we should mention it as an option in style JSON. To my knowledge, we haven’t hooked it up to MGLTileSourceOption
in the runtime styling API. It would be an easy change but it just hasn’t happened yet.
platform/ios/CHANGELOG.md
Outdated
The `GeoJSON` geometry will be clipped based on the tile of the evaluated feature if its contained points are over the `GeometryPointsThreshold`. | ||
|
||
- [core] Introduce `DatabaseFileSource::prefetchAmbientCache()`. | ||
This method pre-fetches resources from network and populates the ambient cache. | ||
|
||
- Introduce LRU queue and setting to control queue size. | ||
|
||
Last recently used (LRU) access events are recorded for single resource or tile request, therefore, reduce performance and deteriorate storage. LRU queue size setting allows to control how often queue is flushed to the database. Default queue size is 50. | ||
|
||
- [core] Batch API to pre-fetch ambient cache. | ||
Now OfflineDownloadParameters can be initialized with a list of locations. Each location is represented with a `LatLngBoundsZoom` instance. | ||
|
||
Thus, we can fetch multiple areas with a single `DatabaseFileSource::prefetchAmbientCache()` API call (and parsing the style only once). | ||
|
||
- [core] Introduce `hashLayout()` function for Layer::Impl. | ||
`hashLayout()` is used to generate aggregated hash value for layout properties. It will replace `stringifyLayout()` when grouping layout. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don’t think any of these changes apply to the iOS or macOS map SDK yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed.
platform/ios/CHANGELOG.md
Outdated
|
||
Before, it was functional only for the `Tile` map mode. | ||
|
||
- [core] Add `emphasis-circle-color` and `emphasis-circle-radius` properties to LocationIndicator layer. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The LocationIndicatorLayer is not used on iOS Hydrogen.
platform/ios/CHANGELOG.md
Outdated
|
||
### ✨ New features | ||
|
||
- Source Modularization. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cannot be accessed on iOS SDK yet.
platform/ios/CHANGELOG.md
Outdated
|
||
For the sources with the `volatile` flag set, the tiles are not stored in the local storage. The `volatile` flag is applicable for all source types, which allow loading tiles from a remote server i.e. `vector`, `raster`, `raster-dem` source types. For other source types this setting is ignored. | ||
|
||
- [core] Enable `Renderer::collectPlacedSymbolData()` API for all map modes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the impact of this change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this applies to iOS developers, we should rephrase and reformat to match the rest of our changelog entries.
platform/ios/CHANGELOG.md
Outdated
- Source Modularization. | ||
Introduces a SourceManager + *SourceFactory classes similar to the work done on layer modularization. | ||
|
||
- [core] Enable source "volatile" flag initialization in style. | ||
|
||
The source `volatile` flag value can be defined in the style as following: | ||
|
||
``` | ||
"example_source": { | ||
"volatile": true | ||
} | ||
``` | ||
|
||
For the sources with the `volatile` flag set, the tiles are not stored in the local storage. The `volatile` flag is applicable for all source types, which allow loading tiles from a remote server i.e. `vector`, `raster`, `raster-dem` source types. For other source types this setting is ignored. | ||
|
||
- [core] Enable `Renderer::collectPlacedSymbolData()` API for all map modes. | ||
|
||
Before, it was functional only for the `Tile` map mode. | ||
|
||
- [core] Add `emphasis-circle-color` and `emphasis-circle-radius` properties to LocationIndicator layer. | ||
|
||
LocationIndicator layer gets the ability to draw an additional circle, controlled via these two properties, to create effects that emphasize the indicator. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@1ec5 what do you think is missing / blocking the availability of the source volatile
flag? GL Native enabled customers setting the flag in the style, and I thought that should flow through to the iOS SDK, particularly since caching is controlled in native
platform/ios/CHANGELOG.md
Outdated
The `GeoJSON` geometry will be clipped based on the tile of the evaluated feature if its contained points are over the `GeometryPointsThreshold`. | ||
|
||
- [core] Introduce `DatabaseFileSource::prefetchAmbientCache()`. | ||
This method pre-fetches resources from network and populates the ambient cache. | ||
|
||
- Introduce LRU queue and setting to control queue size. | ||
|
||
Last recently used (LRU) access events are recorded for single resource or tile request, therefore, reduce performance and deteriorate storage. LRU queue size setting allows to control how often queue is flushed to the database. Default queue size is 50. | ||
|
||
- [core] Batch API to pre-fetch ambient cache. | ||
Now OfflineDownloadParameters can be initialized with a list of locations. Each location is represented with a `LatLngBoundsZoom` instance. | ||
|
||
Thus, we can fetch multiple areas with a single `DatabaseFileSource::prefetchAmbientCache()` API call (and parsing the style only once). | ||
|
||
- [core] Introduce `hashLayout()` function for Layer::Impl. | ||
`hashLayout()` is used to generate aggregated hash value for layout properties. It will replace `stringifyLayout()` when grouping layout. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed.
Co-authored-by: Minh Nguyễn <mxn@1ec5.org>
Co-authored-by: Minh Nguyễn <mxn@1ec5.org>
Co-authored-by: Minh Nguyễn <mxn@1ec5.org>
Co-authored-by: Minh Nguyễn <mxn@1ec5.org>
881c3ca
to
a2c017e
Compare
This PR updates the Mapbox Maps SDK for iOS to use a pre-built GL Native binary rather than building from source as a submodule dependency. GL Native is changing some of its development workflows to build some Mapbox platform-specific features internally, similar to Chrome/Chromium development.
How to build
Going forward, updates to the build process are as follows:
downloads:read
scope.~/.netrc
file which looks like this--use-netrc
:carthage update --platform iOS --use-netrc
License update for Mapbox builds of GL Native
New binary releases of GL Native are now licensed under the Mapbox Terms of Service. The Mapbox Maps SDKs repos will continue to be public and licensed under BSD-2.
If you have any questions about how this change does or doesn’t impact your use of the Maps SDK please don’t hesitate to reach out to Mapbox Support to connect with the Mapbox team.