Map UI Marker Lat & Long Bindings Not Working

Hello,

New user here. I am working on a project to bind GPS coordinates to a 15 markers on map. I have bound other components to tags before, but am unable to get the binding to work. The current Lat/Long tags are memory tags transmitted via MQTT. I modified it out to 8 decimals to give accurate coordinates. When I bind the tag, no data appears and I gett “Null”.

I’ve watched the university items on maps as well as tag binding but cannot seem to get this one. Any help would be appreciated!

Show how your bindings are configured on one of your UI markers, as well as the ui markers property of the map component.

This makes it sound like you are using a string for your Lat/Long values, have you tried casting the binding as a float?

I set the data type as a float, is that what you mean?

That or use an expression binding like toFloat({path/to/mqtt_tag}). The tag being a float is ideal.

It's strange that the binding preview is not showing the numeric value of the tag even though it appears you have the correct tag path.

What does your binding preview look like if you bind directly to the [MQTT Engine]Milesight/LHT65N/Uplink/lattitudeDeg tag?

Side note, the display format has NO bearing on precision/accuracy, it only controls how the value is displayed on screen.

I get the same results. That original memory tag could not be modified as a float, I am assuming it is locked from the source device.

I converted it to a different type of tag to be able to get it to float.

This is when you would use the expression I gave as the binding on the lat or lng property of the marker.

Regardless, even if it was the wrong data type, you should still be getting a value from the binding on the properties.

Have you tried creating a float memory tag (independent of everything, no referencing) all on its own and binding that to the ui marker property as a sanity check? You could also try creating a custom property on the view and trying to bind that custom property to the MQTT tag to see if you can pull through a value.

Also, what version of Ignition are you running?

I am running 8.1.48

The test memory tag does not bind either.

That's weird.

Try this with both the mqtt tag and the independent memory tag. At this point we are trying to determine if the issue is the tags or the map component.

Additionally you can try deleting and then remaking the map component/view, just to eliminate the possibility of something being borked with your current view.

Also for the fun of it try restarting the designer just to see if it's something with your session.

On custom properties as well as additional UI markers, I cannot get anything to bind. I’ve tried multiple types of tags and fields. Good ideas though! I’ll try to restart again. I’ve done this a few times though and do not expect it to work.

If your bindings continue to not work, I would reach out to Support(This forum is not official support), as you might have found a bug or something unexpected has happened to some part of your system. Support should be able to dig further to determine what happened.

I would also take a look at your gateway logs to see if there are any errors.

Thanks for giving it a go!

1 Like

I was able to get it to link by changing the tag type to Derived & Float, then setting the deadband statuses to match the source tag. After that, it took.