dotnet / dotnet/maui

Unable to determine if a Map Pin on the Map component has become invisible or not rendered due to its physical proximity to another pin at a given zoom level

Open
#29,342 0 comments 0 reactions 0 assignees View on GitHub
area-controls-map proposal/open
Dominant language
C#
Stars
23.3k
Forks
2k
Avg merge
1d 15h
Merged PRs (30d)
290

Description

### Description

I have loaded pins at a series of locations which display nicely on the MAUI map component. As the user zooms in its is already possible to determine which is contained on the map (at a given zoom level) using the map span and pin locations. So when the user zooms in i can tell which pins have moved off the edge of the map span. So far so good

However, when you zoom out, pins also disappear if they are physically too close together to be properly rendered at the same time. I have no way of detecting when this happens in the zooming out process. It is critical for my application to be able to determine which pins are still displayed and which are no longer being rendered at a given zoom level. A number of actions need to happen in my app if a pin drops out of visibility as the user zooms out

### Public API Changes

Add a new property Map.Pin.IsVisible or Map.Pin.IsRendered

String PinInfo = "";
foreach (Pin pin in MyJobMap.Pins)
{
PinInfo += pin.Label + " " + pin. IsVisible.ToString() + Environment.NewLine;
}

### Intended Use-Case

The use case is that my users need to see descriptions of surrounding 'hidden' pins when clicking on any displayed pin. Currently I have service agents who are missing service jobs which are in close physical proximity to another service job because they have the map zoomed out too far and the jobs have become hidden. This is an expensive issue for my company.

Contributor guide

Open the contributing guide

Research direction

Start with the Map.Pin API and the Map component's platform-specific rendering behavior, focusing on how zoom level and physical proximity affect pin visibility. Done means the requested Map.Pin property reliably indicates whether each pin is rendered at the current zoom level, including the intended use case of identifying hidden nearby pins.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
mobile-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.