How To Call It
This is a global function: call it directly, without a table prefix. Requires Macro Handler 1.0.51 or later.
Adds a button to a Setting dialog that opens this macro’s Navigation setup (map and route). The selection the user saves comes back under the field key and is stored as a Setting unless the key starts with "_".
Documented for app version 1.0.51 (not on Google Play yet)Updated:
This is a global function: call it directly, without a table prefix. Requires Macro Handler 1.0.51 or later.
In dialog and HUD flow, validate user input and complete the sequence with close/dispose steps to keep the UI stable.
Parameters: value, label. Returns a field to add to a dialog with builder:add(key, field). Fields chain methods such as :required(true), :visibleWhen(field, value, matches) and :helper(text).
You can combine it with Setting.builder(), Dialog, Checkbox, EditText, Hud, and Console to build richer operator-facing flows.
The snippet below is a starter pattern that can be applied directly in runtime flow.
local builder = Setting.builder()
builder:add("route", NavigationEditor("", "Route"))
local result = builder:build():show()From foundation to combined usage, each level is provided as a separate code block so you can copy the level you need and adapt it directly.
local builder = Setting.builder()
builder:add("route", NavigationEditor("", "Route"))
local result = builder:build():show()local stepOk = true
local builder = Setting.builder()
builder:add("route", NavigationEditor("", "Route"))
local result = builder:build():show()
if stepOk then
wait(200)
endlocal ok, err = pcall(function()
local builder = Setting.builder()
builder:add("route", NavigationEditor("", "Route"))
local result = builder:build():show()
end)
if not ok then
print("API step failed: NavigationEditor(value, label): " .. tostring(err))
requestStop()
end-- In dialog and HUD flow, validate user input and complete the sequence with close/dispose steps to keep the UI stable.
local function run_navigationeditor_step()
local builder = Setting.builder()
builder:add("route", NavigationEditor("", "Route"))
local result = builder:build():show()
end
local ok, err = pcall(run_navigationeditor_step)
if not ok then
toast("Step failed")
print(err)
endlocal dialog = Setting.builder()
dialog:add("delay", EditText("500", 1, "Delay"))
dialog:add("enabled", Checkbox(true, "Enabled"))
Setting.setDialog(dialog:build())
Setting.show()
local builder = Setting.builder()
builder:add("route", NavigationEditor("", "Route"))
local result = builder:build():show()