summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2018-08-07 14:45:48 +0300
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2018-08-08 12:53:32 +0300
commit15a26231474d08e3884e424601b609c53d7ef086 (patch)
treed71c8c3edd53aadbbe2f29b4d8109055b6c62e1b /src
parentfd73dea05e645041cf27a28ba67ce37eb6d4c6bc (diff)
downloadqtlocation-mapboxgl-15a26231474d08e3884e424601b609c53d7ef086.tar.gz
[core] Add lineMetrics to GeoJSONOptions
This patch also bumps geojson-vt-cpp version to 6.6.0, which enables the `lineMetrics` option.
Diffstat (limited to 'src')
-rw-r--r--src/mbgl/style/conversion/geojson_options.cpp10
-rw-r--r--src/mbgl/style/sources/geojson_source_impl.cpp1
2 files changed, 11 insertions, 0 deletions
diff --git a/src/mbgl/style/conversion/geojson_options.cpp b/src/mbgl/style/conversion/geojson_options.cpp
index 52a5030c34..77340e5f1d 100644
--- a/src/mbgl/style/conversion/geojson_options.cpp
+++ b/src/mbgl/style/conversion/geojson_options.cpp
@@ -77,6 +77,16 @@ optional<GeoJSONOptions> Converter<GeoJSONOptions>::operator()(const Convertible
}
}
+ const auto lineMetricsValue = objectMember(value, "lineMetrics");
+ if (lineMetricsValue) {
+ if (toBool(*lineMetricsValue)) {
+ options.lineMetrics = *toBool(*lineMetricsValue);
+ } else {
+ error = { "GeoJSON source lineMetrics value must be a boolean" };
+ return nullopt;
+ }
+ }
+
return { options };
}
diff --git a/src/mbgl/style/sources/geojson_source_impl.cpp b/src/mbgl/style/sources/geojson_source_impl.cpp
index fd6d7d3013..5ec3909d3e 100644
--- a/src/mbgl/style/sources/geojson_source_impl.cpp
+++ b/src/mbgl/style/sources/geojson_source_impl.cpp
@@ -64,6 +64,7 @@ GeoJSONSource::Impl::Impl(const Impl& other, const GeoJSON& geoJSON)
vtOptions.extent = util::EXTENT;
vtOptions.buffer = ::round(scale * options.buffer);
vtOptions.tolerance = scale * options.tolerance;
+ vtOptions.lineMetrics = options.lineMetrics;
data = std::make_unique<GeoJSONVTData>(geoJSON, vtOptions);
}
}