Files
MapLibreParticleLab/platform/android/MapLibreAndroid/src/cpp/geojson/multi_point.cpp
Bart Louwers 550f64be22 core: rename mbgl namespace to mln (#4487)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-08-14 23:25:20 +02:00

44 lines
1.4 KiB
C++

#include "multi_point.hpp"
#include "line_string.hpp"
#include "util.hpp"
namespace mln {
namespace android {
namespace geojson {
jni::Local<jni::Object<MultiPoint>> MultiPoint::New(JNIEnv& env, const mln::MultiPoint<double>& multiPoint) {
static auto& javaClass = jni::Class<MultiPoint>::Singleton(env);
static auto method = javaClass.GetStaticMethod<jni::Object<MultiPoint>(jni::Object<java::util::List>)>(
env, "fromLngLats");
return javaClass.Call(env, method, asPointsList(env, multiPoint));
}
mapbox::geojson::multi_point MultiPoint::convert(jni::JNIEnv& env, const jni::Object<MultiPoint>& jMultiPoint) {
mapbox::geojson::multi_point multiPoint;
if (jMultiPoint) {
multiPoint = convertExplicit<mapbox::geojson::multi_point>(
LineString::convert(env, MultiPoint::coordinates(env, jMultiPoint)));
}
return multiPoint;
}
jni::Local<jni::Object<java::util::List>> MultiPoint::coordinates(jni::JNIEnv& env,
const jni::Object<MultiPoint>& jMultiPoint) {
static auto& javaClass = jni::Class<MultiPoint>::Singleton(env);
static auto method = javaClass.GetMethod<jni::Object<java::util::List>()>(env, "coordinates");
return jMultiPoint.Call(env, method);
}
void MultiPoint::registerNative(jni::JNIEnv& env) {
jni::Class<MultiPoint>::Singleton(env);
}
} // namespace geojson
} // namespace android
} // namespace mln