Thank you for such a kind message! I'm glad that the aforementioned snap functionality works with your code.
Removing the annotations is simple, it can be done with our API (without prototype manipulation) and some simple JS code, that you can adjust to your needs.
Firstly, you need to grab the specific annotation. If you will run into some trouble doing that, you can add some custom
"index: 0, 1, 2..." properties while creating them (and find them later in
annotations.userOptions object).
Then, you can find it in the
chart.annotations array. And because they are an
SVGElement, you can run the Highcharts
destroy method on them (it's available on every
SVGElement).
The JS logic is simple, but I just wanted to give you a working example of how it can be done. Instead of using hardcoded index, in a final code I'd suggest using something like JS
find method.
DEMO: https://jsfiddle.net/BlackLabel/bgcw92nx/
API Reference: https://api.highcharts.com/class-refere ... nt#destroy
Searching for a specific value in array of objects: https://stackoverflow.com/questions/124 ... javascript
I hope that you will find it useful,
Have a great day!