diff --git a/android/app/src/main/java/app/organicmaps/sdk/editor/Editor.java b/android/app/src/main/java/app/organicmaps/sdk/editor/Editor.java
index 7bc120164..10cd2dc55 100644
--- a/android/app/src/main/java/app/organicmaps/sdk/editor/Editor.java
+++ b/android/app/src/main/java/app/organicmaps/sdk/editor/Editor.java
@@ -161,6 +161,7 @@ public final class Editor
public static native void nativeCreateNote(String text);
public static native void nativePlaceDoesNotExist(@NonNull String comment);
public static native void nativeRollbackMapObject();
+ public static native void nativeCreateStandaloneNote(double lat, double lon, String text);
/**
* @return all cuisines keys.
diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml
index c1a3ef167..478174903 100644
--- a/android/app/src/main/res/values/strings.xml
+++ b/android/app/src/main/res/values/strings.xml
@@ -610,6 +610,9 @@
Enter a valid Mastodon username or web address
Enter a valid Bluesky username or web address
Add Place to OpenStreetMap
+ Leave Note to OpenStreetMap
+ Describe the issue, add details, or suggest an improvement.
+ Please enter a note text.
Do you want to send it to all users?
diff --git a/android/sdk/src/main/cpp/app/organicmaps/sdk/editor/Editor.cpp b/android/sdk/src/main/cpp/app/organicmaps/sdk/editor/Editor.cpp
index 4efb0db64..433775a75 100644
--- a/android/sdk/src/main/cpp/app/organicmaps/sdk/editor/Editor.cpp
+++ b/android/sdk/src/main/cpp/app/organicmaps/sdk/editor/Editor.cpp
@@ -391,6 +391,12 @@ Java_app_organicmaps_sdk_editor_Editor_nativeCreateNote(JNIEnv * env, jclass cla
g_editableMapObject, osm::Editor::NoteProblemType::General, jni::ToNativeString(env, text));
}
+JNIEXPORT void JNICALL
+Java_app_organicmaps_editor_Editor_nativeCreateStandaloneNote(JNIEnv * env, jclass clazz, jdouble lat, jdouble lon,jstring text)
+{
+ osm::Editor::Instance().CreateStandaloneNote(ms::LatLon(lat, lon), jni::ToNativeString(env, text));
+}
+
// static void nativePlaceDoesNotExist(String comment);
JNIEXPORT void JNICALL
Java_app_organicmaps_sdk_editor_Editor_nativePlaceDoesNotExist(JNIEnv * env, jclass clazz, jstring comment)
diff --git a/libs/editor/osm_editor.cpp b/libs/editor/osm_editor.cpp
index 6c9783a8e..73789240a 100644
--- a/libs/editor/osm_editor.cpp
+++ b/libs/editor/osm_editor.cpp
@@ -1184,6 +1184,12 @@ void Editor::CreateNote(ms::LatLon const & latLon, FeatureID const & fid,
m_notes->CreateNote(latLon, sstr.str());
}
+void Editor::CreateStandaloneNote(ms::LatLon const & latLon, std::string const & noteText)
+{
+ CHECK_THREAD_CHECKER(MainThreadChecker,(""));
+ m_notes->CreateNote(latLon, noteText + "\n");
+}
+
void Editor::MarkFeatureWithStatus(FeaturesContainer & editableFeatures, FeatureID const & fid,
FeatureStatus status)
{
diff --git a/libs/editor/osm_editor.hpp b/libs/editor/osm_editor.hpp
index da4006857..a44511964 100644
--- a/libs/editor/osm_editor.hpp
+++ b/libs/editor/osm_editor.hpp
@@ -170,6 +170,8 @@ public:
Stats GetStats() const;
+ void CreateStandaloneNote(ms::LatLon const & latLon, std::string const & noteText);
+
// Don't use this function to determine if a feature in editor was created.
// Use GetFeatureStatus(fid) instead. This function is used when a feature is
// not yet saved, and we have to know if it was modified or created.