4.0.1
jaakla
released this
08 Mar 16:43
·
1835 commits
to master
since this release
This is a maintenance release for 4.0 that includes several important reliability and performance fixes, in addition to some minor new features.
New features and changes
- Added Layer visibility control API to CartoVectorTileDecoder (setLayerVisible, isLayerVisible methods)
- Implemented 'screen' and ‘clear’ comp-op support for CartoCSS/vector tile rendering
- Rendering of vector tile layers with multiple line/polygon symbolisers is now optimized as a special case, this is usually done with a single draw call
- Changed moveToFitBounds behaviour - from now SDK does not change zoom level if single point is used for MapBounds
- Better error reporting for CARTO SQL API, including error logging and error parsing
- Minor optimizations in vector tile renderer
- implemented timeout for online license update procedure
- forward-compatible changes for future features in online tile service and offline packages
- Exposed
CartoVectorTileDecoder
constructor for better integration with CARTO vector overlays - Added additional
CartoOnlineVectorTile
constructor with explicit source and built-in style enumeration parameters - Added
countVisibleFeatures
method toTorqueTileLayer
- Added comp-op support to points, markers, texts and shields
- Increased internal visible tile cache size by 4x, for really large overlay datasets (does not affect memory usage in normal cases)
MBTilesDataSource
andOfflineNMLModelLODTreeDataSource
classes now open database in read-only mode (previously in read-write mode)- More precise label coverage analysis for transformed labels
Fixes
- Fixed Torque tile usage in MapsService API due to malformed URL
- Fixed deadlock with indirect texts fields in Text and BalloonPopup objects
- Fixed feature batching related issue in vector tile renderer that caused high number of draw calls and low performance
- Fixed 'multiply' comp-op handling with non-opaque alpha values
- Fixed parameter name typo in CartoCSS (instead of 'polygon-pattern-comp-op', 'polygon-pattern-op' was used)
- fixed performance issue on iOS with empty Text objects
- CartoCSS compatibility fixes for handling negative line widths and marker sizes
- minor memory usage, speed optimizations
- Added missing NTCartoVectorTileDecoder to iOS umbrella header
- Fixed CartoVectorTileDecoder layer ordering issues
- Fixed regression regarding VisJSON vector sublayer grouping; visibility and attribute info was previously lost
- Fixed handling of zero size ellipse markers in CartoCSS
- Fixed vector tile click detection issues
- Fixed rare cases on iOS when screen remained black after returning from background state
- Heavily distorted texts are no longer displayed on the map
- Fixed bad_weak_ptr exception when using PersistentCacheTileDataSource
- Fixed crash with some Xamarin Android versions when MapView finalizer is called
- Fixed license registration issues on Windows Phone targets
- Fixed vector tile layers in layergroup ignoring 'visibility' attribute
- Fixed billboard sorting issues causing flickering with overlapping markers/texts/popups
- Implemented clamping for CartoCSS opacity values for better compatibility
Usage with package management
-
iOS CocoaPod:
pod 'CartoMobileSDK', '4.0.1'
-
Android gradle:
compile 'com.carto:carto-mobile-sdk:4.0.1'