[core][iOS] Source iOS styles from default_styles
Moved mbgl::util::default_styles to a more appropriate location, where iOS platform code can also find it. Moved -[MGLMapView bundledStyleURLs] (which is now deprecated) and the style switcher in iosapp to default_styles. Added a collection of convenience methods for getting style URLs. It makes little sense to layer an enum atop this, as MapKit does, because MGLMapView styles aren’t limited to this set. A good analogy is UIColor. This also makes for a good entry point for future runtime styling APIs. Introduced independent constants for each default style, because it’s more common to need access to a particular style than to iterate over them. This fact is apparent in the MGLStyle class, which now uses macros and assertions to ensure that it’s kept up-to-date with changes in default_styles. /ref #1462
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
#include <mbgl/mbgl.hpp>
|
||||
#include "../platform/default/default_styles.hpp"
|
||||
#include <mbgl/util/default_styles.hpp>
|
||||
#include <mbgl/util/uv.hpp>
|
||||
#include <mbgl/platform/log.hpp>
|
||||
#include <mbgl/platform/platform.hpp>
|
||||
@@ -131,22 +131,22 @@ int main(int argc, char *argv[]) {
|
||||
view->setChangeStyleCallback([&map] () {
|
||||
static uint8_t currentStyleIndex;
|
||||
|
||||
if (++currentStyleIndex == mbgl::util::defaultStyles.size()) {
|
||||
if (++currentStyleIndex == mbgl::util::default_styles::numOrderedStyles) {
|
||||
currentStyleIndex = 0;
|
||||
}
|
||||
|
||||
const auto& newStyle = mbgl::util::defaultStyles[currentStyleIndex];
|
||||
map.setStyleURL(newStyle.first);
|
||||
view->setWindowTitle(newStyle.second);
|
||||
mbgl::util::default_styles::DefaultStyle newStyle = mbgl::util::default_styles::orderedStyles[currentStyleIndex];
|
||||
map.setStyleURL(newStyle.url);
|
||||
view->setWindowTitle(newStyle.name);
|
||||
|
||||
mbgl::Log::Info(mbgl::Event::Setup, std::string("Changed style to: ") + newStyle.first);
|
||||
mbgl::Log::Info(mbgl::Event::Setup, std::string("Changed style to: ") + newStyle.name);
|
||||
});
|
||||
|
||||
// Load style
|
||||
if (style.empty()) {
|
||||
const auto& newStyle = mbgl::util::defaultStyles.front();
|
||||
style = newStyle.first;
|
||||
view->setWindowTitle(newStyle.second);
|
||||
mbgl::util::default_styles::DefaultStyle newStyle = mbgl::util::default_styles::orderedStyles[0];
|
||||
style = newStyle.url;
|
||||
view->setWindowTitle(newStyle.name);
|
||||
}
|
||||
|
||||
map.setStyleURL(style);
|
||||
|
||||
Reference in New Issue
Block a user