Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Commit

Permalink
[android] Update toGeoJSON in android_conversion.hpp
Browse files Browse the repository at this point in the history
  • Loading branch information
kevin committed Mar 2, 2020
1 parent 6bed207 commit 7a367b1
Showing 1 changed file with 15 additions and 2 deletions.
17 changes: 15 additions & 2 deletions platform/android/src/style/android_conversion.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -110,11 +110,24 @@ class ConversionTraits<mbgl::android::Value> {
}

static optional<GeoJSON> toGeoJSON(const mbgl::android::Value &value, Error &error) {
if (value.isNull() || !value.isString()) {
if (value.isNull()) {
error = { "no json data found" };
return {};
} else if (value.isString()) {
return parseGeoJSON(value.toString(), error);
} else if (value.isObject()) {
mbgl::android::Value keys = value.keyArray();
std::size_t length = arrayLength(keys);
for (std::size_t i = 0; i < length; ++i) {
const auto k = keys.get(i).toString();
if (k == "json") {
auto v = value.get(k.c_str());
return parseGeoJSON(v.toString(), error);
}
}
}
return parseGeoJSON(value.toString(), error);
error = {"no json data found"};
return {};
}
};

Expand Down

0 comments on commit 7a367b1

Please sign in to comment.