Drawpolygon not working with geoaxes
1 view (last 30 days)
Show older comments
Murat Panayirci
on 6 Oct 2022
Commented: Murat Panayirci
on 13 Oct 2022
Hi,
I am developing a GUI with app designer, when I want to enable users to select a region interactively on a geoaxes. I am using the drawpolygon function, which does not seem to work with geoaxes (it works on a regular axis). I get following error:
Warning: Error occurred while executing the listener callback for event WindowMousePress defined for class matlab.ui.Figure:
Dot indexing is not supported for variables of this type.
Error in imageslib.internal.app.utilities.isAxesInteractionModeActive (line 17)
TF = ax.InteractionContainer.CurrentMode ~= "none";
Error in images.roi.internal.ROI/isModeManagerActive
Error in images.roi.internal.ROI/waitForButtonPressToBegin
Error in images.roi.internal.ROI
is drawpolygon not available for geoaxes or is there an option I need to set correctly for this axes type. Any help would be appreciated.
Thanks!
Murat
0 Comments
Accepted Answer
Adam Danz
on 6 Oct 2022
This is supported in the latest release, MATLAB R2022b.
The example below produced the results you described when run in R2022a but is functional in R2022b.
uif = uifigure();
gx = geoaxes(uif);
drawpolygon(gx)
3 Comments
Adam Danz
on 12 Oct 2022
Can you think of any workaround
Assuming it's not possible to update to 22b, you could replace the uifigure with a regular figure and it will work in 22a.
fig = figure();
gx = geoaxes(fig);
drawpolygon(gx)
If this is within an app, then it gets more complicated. You'd need to generate the figure outside of the app, using a regular figure as shown above. copyobj may come in handy to copy the entire axes from your uifigure to a regular figure. Then, when the drawpolygon actions are done, you could copy the results to the axes in your app and close the external figure.
More Answers (0)
See Also
Categories
Find more on Visual Exploration in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!