Basic Image Marker widget to visualize your applications

This tutorial introduces the Image Marker widget and shows how to use it in Basic mode to place data-driven pins on an image. You’ll learn what it’s for, how to configure it, and how to control what users can do. All screenshots and examples reflect the original tutorial context.

General Vision

The Image Marker widget visualizes data directly on an image, making dashboards less abstract and closer to real-world layouts. Imagine a motion sensor network with variables such as motion_sensor_1, motion_sensor_2, and so on. Even with good variable names, a list of numbers is less expressive than pins positioned on a floor plan or photo.

Below is an Image Marker example showing temperatures across a hotel floor plan:

This approach improves clarity and speeds up understanding for end users.

Using Image Marker in Basic Mode

In Basic mode, each selected variable becomes a pin you can place on the image. If you select five variables, you’ll position five pins.

Main Configuration

Use the Main Configuration to define the essentials:

  • Title: The widget’s display name.
  • Type: Choose Basic.
  • Variables: Select the variables that will become pins.

Visualization

The Visualization tab controls how pins appear and behave. Here you can:

  • Connect pins with lines.
  • Open the info box automatically when a pin loads.
  • Choose the variable that will store layer information.
  • Set conditions for pin colors, icons, and alerts.

Example: In the hotel scenario, you might want temperatures at or below 80 °F. Create conditions that flag alerts when temperature exceeds 80 °F and set a normal state when it’s below 81 °F:

User Control

Decide what end users can do with the widget in the User Control tab. For example, turn off the ability to remove pins if you want to lock the layout, while still allowing users to add or edit pins and manage layers:

  • Allow user to remove pins: Disable to prevent deletions.
  • Allow user to add pins / edit pins / edit/add layers: Enable as needed.
  • Additional options control what users can set when adding a new pin (icon, infobox image, embedded component, label).

Pin Configuration

Each pin has its own configuration. In the Pin Configuration tab you can:

  • Attach images or videos to a pin.
  • Embed links or external URLs.
  • Customize labels and other pin-specific details.

This lets you tailor each pin to the context it represents.

Formula

Use the Formula tab to transform the value displayed on a pin without altering the original data in the bucket. For instance, if your stored temperature is in Celsius but you want to show Fahrenheit on the map, apply a conversion:

  • Example: Convert the incoming $VALUE$ from Celsius to Fahrenheit with a formula such as “$VALUE$ celsius in fahrenheit”.

Formulas provide a flexible way to present data in the most useful units or formats for your users.

Try It in Your Application

If this approach resonates with your use case, experiment with the Image Marker widget to enhance clarity and context in your dashboards. It’s versatile and works well for floor plans, equipment layouts, site maps, and more.

We look forward to feedback on how you use the Image Marker widget and any questions you may have.

@Max Patissier

Maybe I missed something but I cannot find where I can configure my layer. I have a floor plan in my file, I am looking where to use it in the Image Marker. Thank you.
Max

@Kelvin Welter

Hi, Max

To configure a layer you can click on the editing button, select the layer you want and edit name and image used. You can see in the following GIF that you have to click on the Edit button to create/edit/delete layers.

imagemarker

However, you cannot use an image directly from TagoIO files, you need to download the image to your system and upload to the layer. I hope this has clarified your question, if you do not understand, feel free to further detail your question. Thanks!

@Max Patissier

all right, so my problem is that I do not have the pen on the left side… That’s why I am lost! working on MacBook.

@Kelvin Welter

Hi, Max

You are experiencing an error accessing the metadata.file field in the variable you selected in Image Marker.

Try recreating the widget, if the error still persists, try using different variables in Image Marker.

Anyway, this should not happen and I am opening an issue for the TagoIO team, soon this error will be fixed.

I am still open to any questions or support, thanks!

@Max Patissier

I try a lot of things but still have this error ! Please inform me when it is fixed ! thank you !

@Aline Tusi

Hi @max.patissier,

Good news!

Our team already fixed this bug, could you check it, please?

Thanks!

@Aline Tusi

Example:
"What I want to do :

  • I have 4 special points in a workshop (let say machine 1, machine 2, bathroom, entrance). I have people with a special card moving in the workshop. Every time someone is moving near this special point, I get data (ID, special points).
  • So I want to see on my layer where are my people. Like an indoor GPS.

Possible?"

Yes, it is possible!

However, you need to know: The basic image marker just add a fixed point, so to use it, in this case, you must send the value of x and y using metadata.

To send the x and y value you can use the device emulator, as the image below:

@Max Patissier

const buble = data[4].substring(0, 2)+data[5].substring(0, 2);

if (buble === ‘cf3f’)
{
vars_to_tago.push({ variable: ‘buble1’, value: ‘Garaje (cf3f)’ , “metadata”: {“x”:0.9,“y”:0.9} });
};

if (buble === ‘cf4a’)
{
vars_to_tago.push({ variable: ‘buble1’, value: ‘Oficina (cf4a)’ ,“metadata”: {“x”:0.3,“y”:0.9} });
};

if (buble === ‘cf3e’)
{
vars_to_tago.push({ variable: ‘buble1’, value: ‘Entrada calle (cf3e)’,“metadata”: {“x”:0.4,“y”:0.01}});
};

if (buble === ‘cf38’)
{
vars_to_tago.push({ variable: ‘buble1’, value: ‘Maquina Laser 2 (cf38)’ ,“metadata”: {“x”:0.89,“y”:0.79} });
};

Working well ! thank you