#include namespace mbgl { GeoJSONTileFeature::GeoJSONTileFeature(FeatureType type_, GeometryCollection&& geometries_, Feature::property_map&& properties_) : type(type_), geometries(std::move(geometries_)), properties(std::move(properties_)) { } FeatureType GeoJSONTileFeature::getType() const { return type; } optional GeoJSONTileFeature::getValue(const std::string& key) const { auto it = properties.find(key); if (it != properties.end()) { return optional(it->second); } return optional(); } GeometryCollection GeoJSONTileFeature::getGeometries() const { return geometries; } GeoJSONTileLayer::GeoJSONTileLayer(Features&& features_) : features(std::move(features_)) { } std::size_t GeoJSONTileLayer::featureCount() const { return features.size(); } util::ptr GeoJSONTileLayer::getFeature(std::size_t i) const { return features[i]; } GeoJSONTile::GeoJSONTile(std::shared_ptr layer_) : layer(std::move(layer_)) { } util::ptr GeoJSONTile::getLayer(const std::string&) const { // We're ignoring the layer name because GeoJSON tiles only have one layer. return layer; } } // namespace mbgl