MGLStyleValue is an umbrella class serving as a variant container for MGLStyleConstantValue and MGLStyleFunction. These classes use lightweight generics to indicate the underlying type. A templated C++ class concisely converts between mbgl::style::PropertyValue and MGLStyleValue.
* Fixed bug where fromScreenLocation would modify the actual Point being passed in
* [android] - move reused point to Projection class, migrated screen density logic to projection
fixup code to be unit testable
* [android] - include net package in proguard config, added the default EnclosingMethod disable warning and fixed up typo.
* update test app dependency leak canary to do a proguard release build, replaced keep support lib classes by dontwarn following Google guidelines, remove outdated/obsolete square configuration
* [android] - remove ViewMarkers crash, show correct view cache size in test activity
* use MapboxMap to indicate a MarkerView is no longer added on a map, no future updates will be passed on to core.
* resolve memory leak
MGLShape subclasses can now return NSDictionaries that represent the shapes' GeoJSON geometries. MGLFeature classes can now return NSDictionaries that represent the features as GeoJSON features. This makes it trivial to serialize iOS and macOS shapes and features into GeoJSON.
MGLFeature instances can also return a representation of themselves as an mbgl::Feature. This capability is used in a refactoring of the implementations of MGLGeoJSONSource to more efficiently transform MGLFeatures into mbgl::Features so they can be fed directly into mbgl::GeoJSONSource without having to round trip through NSJSONSerialization. The MGLFeature identifier is converted into the mbgl::identifier type based on the type of the identifier. The MGLFeature attributes are recursively converted into an mbgl::PropertyMap and each value is converted into one of the types that the PropertyMap's Value variant supports.
This adds a features initializer to MGLGeoJSONSource. The initializer
takes shapes and converts them to JSON representation before passing
to core. This also adds methods to the MGLShape concrete subclasses
so that they can represent themselves in NSDictionary form suitable
for transforming to JSON (GeoJSON).
* [android] - add transparent image to core for MarkerView ghosting SymbolAnnotations. Removes logging messages: `Can't find sprite ... `. Cleanup MapView.
* [android] - use alpha_8 config to only allocate one byte, rename id for better readability.
* [android] introduce a setConnected method to manually set a connected flag
* extend connected state to ConnectivityReceiver
* extend connected state to ConnectivityReceiver