1 #pragma once 2 3 #include <mbgl/util/optional.hpp> 4 #include <mbgl/style/filter.hpp> 5 6 #include <string> 7 #include <vector> 8 9 namespace mbgl { 10 11 /** 12 * Options for query rendered features. 13 */ 14 class RenderedQueryOptions { 15 public: RenderedQueryOptions(optional<std::vector<std::string>> layerIDs_={},optional<style::Filter> filter_={})16 RenderedQueryOptions(optional<std::vector<std::string>> layerIDs_ = {}, 17 optional<style::Filter> filter_ = {}) 18 : layerIDs(std::move(layerIDs_)), 19 filter(std::move(filter_)) {} 20 21 /** layerIDs to include in the query */ 22 optional<std::vector<std::string>> layerIDs; 23 24 optional<style::Filter> filter; 25 }; 26 27 /** 28 * Options for query source features 29 */ 30 class SourceQueryOptions { 31 public: SourceQueryOptions(optional<std::vector<std::string>> sourceLayers_={},optional<style::Filter> filter_={})32 SourceQueryOptions(optional<std::vector<std::string>> sourceLayers_ = {}, 33 optional<style::Filter> filter_ = {}) 34 : sourceLayers(std::move(sourceLayers_)), 35 filter(std::move(filter_)) {} 36 37 // Required for VectorSource, ignored for GeoJSONSource 38 optional<std::vector<std::string>> sourceLayers; 39 40 optional<style::Filter> filter; 41 }; 42 43 } // namespace mbgl 44