Fixes issue #6242: Explore>Map: Two pin labels appear at the same time #6279
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description (required)
Fixes #6242
What changes did you make and why?
The removeMarker() method was changed to match the Overlay's title with the BaseMarker's Place name during the linear search for the correct overlay. This causes the correct marker to be removed along with the label when a new marker is selected.
Prior to this change, the Place coordinates were used to find the overlay. However, since multiple images may be taken at the same Place, the wrong overlay could be removed. This results in multiple pin labels appearing at the same time since the labels are hidden by deleting the Overlay and creating a new one with the label hidden.
Also, null checking was added to the removeMarker() method.
Tests performed (required)
To test, find multiple images in the Explore map that are taken at the same place and tap each of them. On main, multiple labels will display. On this PR, a maximum of one label will appear.
Tested ProdDebug on Android Studio Emulator with API level 34.