mapbox / mapbox-gl-native

Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL
https://mapbox.com/mobile
Other
4.38k stars 1.32k forks source link

mbgl::Map::getStyleJSON() should reflect runtime styling changes #7563

Closed 1ec5 closed 5 years ago

1ec5 commented 7 years ago

mbgl::Map::getStyleJSON() returns the exact string that was originally passed into mbgl::Map::setStyleJSON() or fetched from the style URL, even if the style has been mutated since then using the runtime styling API. It should instead return a serialized representation of the current style, reflecting any changes made using the runtime styling API (and annotations API?).

Ultimately, I think the iOS/macOS SDK should expose an -[MGLStyle JSONDataUsingEncoding:] method that would use mbgl::Map::getStyleJSON() to return the current style. This method would complement the initializers proposed in #6386, make it easier to implement the runtime styling API in React Native Mapbox GL (mapbox/react-native-mapbox-gl#416), and allow macosapp to save out the results of any runtime styling changes in MapDocument.

/cc @jfirebaugh @frederoni

jfirebaugh commented 7 years ago

7586 winds up implementing a good portion of the machinery needed for JSON stringification of a style.

stale[bot] commented 5 years ago

This issue has been automatically detected as stale because it has not had recent activity and will be archived. Thank you for your contributions.