Disabled Interactions For Geoaxes In App Designer

I am trying to get zoom, pan, and datatips working on geoaxes in app designer but it is not working. Whenever I use geoaxis outside of app designer, all the interactions work perfectly just like how you would expect. I am trying to follow this tutorial https://www.mathworks.com/help/matlab/creating_plots/create-geographic-axes-in-app.html but instead of setting PanSupported and ZoomSupported to "off", intuitively, you would think to set it to "on" to enable interactions. Unfortunately, this is not the case. I have been all over the internet and back and have not seen a workable clean solution to this problem. The only work around I see is to trigger a new figure from the app that has all of these interactions. I do not want that and need it to happen inside of my app. For panning and zooming, I have been simulating these functions with buttons and sliders. No idea how to simulate datatips when hovering over geoplots in a clean way. This makes the app a lot less user friendly and harder to use.

1 Kommentar

Voss
Voss am 23 Okt. 2025

It may be helpful if you upload your mlapp file here, using the paperclip icon.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Cris LaPierre
Cris LaPierre am 23 Okt. 2025
Bearbeitet: Cris LaPierre am 23 Okt. 2025

0 Stimmen

By default, pan and zoom are enabled. This app example explicitly turns them off. Delete or Comment out lines 73 and 74 in the app, and you will see zoom and pan options in the axes toolbar, as well as data tips.
The axes toolbar will appear in the top right of the axes. You may have to click on the plot first to activate it.

4 Kommentare

Dylan
Dylan am 24 Okt. 2025
Bearbeitet: Dylan am 24 Okt. 2025
I got the example working for me now when I started on a fresh new app. I have however discoverd why it was not working for me. Whenever I make a callback function for the WindowsButtonMotionFcn for the UIFigure, it disables all the interactions. I use this because I want a crosshair to show up while the user hovers over the map and also display the current lat/lon live in a text field. Is there a way around this? Id like to keep these features for my users. Thanks!
How are you creating the crosshairs?
However, in a quick test, I couldn't get the functionality of both at the same time. There may be other ways, but it might be necessary to use a different approach. Tagging @Adam Danz
Assigning the WindowButtonMotionFcn function disables pan/zoom interactions in geoaxes. This is a known limitation. I've noted your use of data tips and other interactions during window button control - thanks for sharing it.
For potential workarounds:
Dylan
Dylan am 28 Okt. 2025
@Cris LaPierre I am grabbing my current point in the geoaxis if it exists using geoaxis.CurrentPoint. If it is within the lat and lon limits of my geoaxis component, I then update two geoplots with lines (one horizontal and one vertical) that extends to the limits of the axis. It then erases when it detects that my mouse is no longer hovering over the geoaxis object. At the same time it grabs the current points while inside of the axis component and prints out my current lat/lon.
@Adam Danz That is unfortunate. Are there any plans to fix this limitation? I will try using listeners to rectify this problem. Ill keep this form updated if I am succesful.
Thanks for the support!

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Polar Plots finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2024b

Gefragt:

am 22 Okt. 2025

Kommentiert:

am 28 Okt. 2025

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by