diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2017-06-02 15:20:13 +0200 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2017-06-03 12:51:01 +0200 |
commit | 41d2496c07e54a8dad70aea4610c7200711983e5 (patch) | |
tree | 03077481bc17b226ae9f5662189a5ae65d045002 | |
parent | 0b8bc87e503f7ab4ebada16fe3f8e78a989194bb (diff) | |
download | qtlocation-mapboxgl-41d2496c07e54a8dad70aea4610c7200711983e5.tar.gz |
[core] use the last field in a property value, rather than the first field
-rw-r--r-- | src/mbgl/tile/vector_tile.cpp | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/src/mbgl/tile/vector_tile.cpp b/src/mbgl/tile/vector_tile.cpp index 96961e1da7..67b97c1c05 100644 --- a/src/mbgl/tile/vector_tile.cpp +++ b/src/mbgl/tile/vector_tile.cpp @@ -105,29 +105,36 @@ void VectorTile::setData(std::shared_ptr<const std::string> data_, } Value parseValue(protozero::pbf_reader data) { - while (data.next()) - { + Value value; + while (data.next()) { switch (data.tag()) { case 1: // string_value - return data.get_string(); + value = data.get_string(); + break; case 2: // float_value - return static_cast<double>(data.get_float()); + value = static_cast<double>(data.get_float()); + break; case 3: // double_value - return data.get_double(); + value = data.get_double(); + break; case 4: // int_value - return data.get_int64(); + value = data.get_int64(); + break; case 5: // uint_value - return data.get_uint64(); + value = data.get_uint64(); + break; case 6: // sint_value - return data.get_sint64(); + value = data.get_sint64(); + break; case 7: // bool_value - return data.get_bool(); + value = data.get_bool(); + break; default: data.skip(); break; } } - return NullValue{}; + return value; } VectorTileFeature::VectorTileFeature(protozero::pbf_reader feature_pbf, std::shared_ptr<VectorTileLayerData> layerData_) |