#include "marker.hpp" namespace mbgl { namespace android { jni::Class Marker::javaClass; mbgl::Point Marker::getPosition(jni::JNIEnv& env, jni::Object marker) { static auto positionField = Marker::javaClass.GetField>(env, "position"); auto jPosition = marker.Get(env, positionField); auto position = LatLng::getGeometry(env, jPosition); jni::DeleteLocalRef(env, jPosition); return position; } std::string Marker::getIconId(jni::JNIEnv& env, jni::Object marker) { static auto iconIdField = Marker::javaClass.GetField(env, "iconId"); auto jIconId = marker.Get(env, iconIdField); auto iconId = jni::Make(env, jIconId); jni::DeleteLocalRef(env, jIconId); return iconId; } void Marker::registerNative(jni::JNIEnv& env) { // Lookup the class Marker::javaClass = *jni::Class::Find(env).NewGlobalRef(env).release(); } } // namespace android } // namespace mbgl