#include "lat_lng.hpp" namespace mbgl { namespace android { jni::Local> LatLng::New(jni::JNIEnv& env, const mbgl::LatLng& latLng) { static auto& javaClass = jni::Class::Singleton(env); static auto constructor = javaClass.GetConstructor(env); return javaClass.New(env, constructor, latLng.latitude(), latLng.longitude()); } mbgl::Point LatLng::getGeometry(jni::JNIEnv& env, const jni::Object& latLng) { static auto& javaClass = jni::Class::Singleton(env); static auto latitudeField = javaClass.GetField(env, "latitude"); static auto longitudeField = javaClass.GetField(env, "longitude"); return mbgl::Point(latLng.Get(env, longitudeField), latLng.Get(env, latitudeField)); } mbgl::LatLng LatLng::getLatLng(jni::JNIEnv& env, const jni::Object& latLng) { auto point = LatLng::getGeometry(env, latLng); return mbgl::LatLng(point.y, point.x); } void LatLng::registerNative(jni::JNIEnv& env) { jni::Class::Singleton(env); } } // namespace android } // namespace mbgl