#pragma once #include "source.hpp" #include #include "../../geojson/geometry.hpp" #include "../../geojson/feature.hpp" #include "../../geojson/feature_collection.hpp" #include namespace mbgl { namespace android { class GeoJSONSource : public Source { public: static constexpr auto Name() { return "com/mapbox/mapboxsdk/style/sources/GeoJsonSource"; }; static jni::Class javaClass; static void registerNative(jni::JNIEnv&); GeoJSONSource(jni::JNIEnv&, jni::String, jni::Object<>); GeoJSONSource(jni::JNIEnv&, mbgl::style::Source&, AndroidRendererFrontend&); ~GeoJSONSource(); void setGeoJSONString(jni::JNIEnv&, jni::String); void setFeatureCollection(jni::JNIEnv&, jni::Object); void setFeature(jni::JNIEnv&, jni::Object); void setGeometry(jni::JNIEnv&, jni::Object); void setURL(jni::JNIEnv&, jni::String); jni::Array> querySourceFeatures(jni::JNIEnv&, jni::Array> jfilter); jni::String getURL(jni::JNIEnv&); private: jni::Object createJavaPeer(jni::JNIEnv&); }; // class GeoJSONSource } // namespace android } // namespace mbgl