summaryrefslogtreecommitdiff
path: root/render-test
diff options
context:
space:
mode:
authorJuha Alanen <juha.alanen@mapbox.com>2019-10-03 15:57:05 +0300
committerJuha Alanen <juha.alanen@mapbox.com>2019-10-28 16:46:55 +0200
commit360b8b42471d7196511ab11edb4f9f277329af13 (patch)
tree6a0122d1e5527e2f7bbf4b0dcd4437203370fe69 /render-test
parent7c9c71fba1233a6474bd4a8885e9e5d7588fd890 (diff)
downloadqtlocation-mapboxgl-360b8b42471d7196511ab11edb4f9f277329af13.tar.gz
[core,android,darwin,qt] Add fields related to feature-state
Move the fields from geometry.hpp/feature.hpp as they are not part of the GeoJSON specification.
Diffstat (limited to 'render-test')
-rw-r--r--render-test/parser.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/render-test/parser.cpp b/render-test/parser.cpp
index f410ffa860..11a42f3202 100644
--- a/render-test/parser.cpp
+++ b/render-test/parser.cpp
@@ -252,14 +252,20 @@ std::string toJSON(const std::vector<mbgl::Feature>& features, unsigned indent,
}
writer.SetIndent(' ', indent);
writer.StartArray();
- for (size_t i = 0; i < features.size(); ++i) {
- auto result = mapbox::geojson::convert(features[i], allocator);
-
- result.AddMember("source", features[i].source, allocator);
- if (!features[i].sourceLayer.empty()) {
- result.AddMember("sourceLayer", features[i].sourceLayer, allocator);
+ for (const auto& feature : features) {
+ mbgl::JSValue result(rapidjson::kObjectType);
+ result.AddMember("type", "Feature", allocator);
+ if (!feature.id.is<mbgl::NullValue>()) {
+ result.AddMember(
+ "id", mapbox::geojson::identifier::visit(feature.id, mapbox::geojson::to_value{allocator}), allocator);
+ }
+ result.AddMember("geometry", mapbox::geojson::convert(feature.geometry, allocator), allocator);
+ result.AddMember("properties", mapbox::geojson::to_value{allocator}(feature.properties), allocator);
+ result.AddMember("source", feature.source, allocator);
+ if (!feature.sourceLayer.empty()) {
+ result.AddMember("sourceLayer", feature.sourceLayer, allocator);
}
- result.AddMember("state", mapbox::geojson::to_value{allocator}(features[i].state), allocator);
+ result.AddMember("state", mapbox::geojson::to_value{allocator}(feature.state), allocator);
result.Accept(writer);
}
writer.EndArray();