#include "lat_lng.hpp" namespace mbgl { namespace android { jni::Object LatLng::New(jni::JNIEnv& env, double latitude, double longitude) { static auto constructor = LatLng::javaClass.GetConstructor(env); return LatLng::javaClass.New(env, constructor, latitude, longitude); } mbgl::Point LatLng::getGeometry(jni::JNIEnv& env, jni::Object latLng) { static auto latitudeField = LatLng::javaClass.GetField(env, "latitude"); static auto longitudeField = LatLng::javaClass.GetField(env, "longitude"); return mbgl::Point(latLng.Get(env, longitudeField), latLng.Get(env, latitudeField)); } mbgl::LatLng LatLng::getLatLng(jni::JNIEnv& env, jni::Object latLng) { auto point = LatLng::getGeometry(env, latLng); return mbgl::LatLng(point.y, point.x); } void LatLng::registerNative(jni::JNIEnv& env) { // Lookup the class LatLng::javaClass = *jni::Class::Find(env).NewGlobalRef(env).release(); } jni::Class LatLng::javaClass; } // namespace android } // namespace mbgl