diff --git a/src/Controls/Maps/src/HandlerImpl/Map.Impl.cs b/src/Controls/Maps/src/HandlerImpl/Map.Impl.cs index 32d945680447..516a108a5033 100644 --- a/src/Controls/Maps/src/HandlerImpl/Map.Impl.cs +++ b/src/Controls/Maps/src/HandlerImpl/Map.Impl.cs @@ -22,6 +22,8 @@ bool IMap.ClusterClicked(IReadOnlyList pins, Location location) return args.Handled; } + void IMap.LongClicked(Location location) => MapLongClicked?.Invoke(this, new MapClickedEventArgs(location)); + MapSpan? IMap.VisibleRegion { get diff --git a/src/Controls/Maps/src/Map.cs b/src/Controls/Maps/src/Map.cs index ca5aaa96d436..d7629182d035 100644 --- a/src/Controls/Maps/src/Map.cs +++ b/src/Controls/Maps/src/Map.cs @@ -210,6 +210,11 @@ public MapSpan? Region /// public event EventHandler? ClusterClicked; + /// + /// Occurs when the user long-presses/holds on the map control. + /// + public event EventHandler? MapLongClicked; + /// /// Gets the currently visible region of the map. /// diff --git a/src/Controls/Maps/src/PublicAPI/net-android/PublicAPI.Unshipped.txt b/src/Controls/Maps/src/PublicAPI/net-android/PublicAPI.Unshipped.txt index ddbf4e1c505d..feb5228c6b1c 100644 --- a/src/Controls/Maps/src/PublicAPI/net-android/PublicAPI.Unshipped.txt +++ b/src/Controls/Maps/src/PublicAPI/net-android/PublicAPI.Unshipped.txt @@ -10,6 +10,7 @@ Microsoft.Maui.Controls.Maps.ClusterClickedEventArgs.Pins.get -> System.Collecti Microsoft.Maui.Controls.Maps.Map.ClusterClicked -> System.EventHandler? Microsoft.Maui.Controls.Maps.Map.IsClusteringEnabled.get -> bool Microsoft.Maui.Controls.Maps.Map.IsClusteringEnabled.set -> void +Microsoft.Maui.Controls.Maps.Map.MapLongClicked -> System.EventHandler? Microsoft.Maui.Controls.Maps.Map.Region.get -> Microsoft.Maui.Maps.MapSpan? Microsoft.Maui.Controls.Maps.Map.Region.set -> void Microsoft.Maui.Controls.Maps.MapElement.IsVisible.get -> bool diff --git a/src/Controls/Maps/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt b/src/Controls/Maps/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt index ddbf4e1c505d..feb5228c6b1c 100644 --- a/src/Controls/Maps/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt +++ b/src/Controls/Maps/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt @@ -10,6 +10,7 @@ Microsoft.Maui.Controls.Maps.ClusterClickedEventArgs.Pins.get -> System.Collecti Microsoft.Maui.Controls.Maps.Map.ClusterClicked -> System.EventHandler? Microsoft.Maui.Controls.Maps.Map.IsClusteringEnabled.get -> bool Microsoft.Maui.Controls.Maps.Map.IsClusteringEnabled.set -> void +Microsoft.Maui.Controls.Maps.Map.MapLongClicked -> System.EventHandler? Microsoft.Maui.Controls.Maps.Map.Region.get -> Microsoft.Maui.Maps.MapSpan? Microsoft.Maui.Controls.Maps.Map.Region.set -> void Microsoft.Maui.Controls.Maps.MapElement.IsVisible.get -> bool diff --git a/src/Controls/Maps/src/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt b/src/Controls/Maps/src/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt index ddbf4e1c505d..feb5228c6b1c 100644 --- a/src/Controls/Maps/src/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt +++ b/src/Controls/Maps/src/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt @@ -10,6 +10,7 @@ Microsoft.Maui.Controls.Maps.ClusterClickedEventArgs.Pins.get -> System.Collecti Microsoft.Maui.Controls.Maps.Map.ClusterClicked -> System.EventHandler? Microsoft.Maui.Controls.Maps.Map.IsClusteringEnabled.get -> bool Microsoft.Maui.Controls.Maps.Map.IsClusteringEnabled.set -> void +Microsoft.Maui.Controls.Maps.Map.MapLongClicked -> System.EventHandler? Microsoft.Maui.Controls.Maps.Map.Region.get -> Microsoft.Maui.Maps.MapSpan? Microsoft.Maui.Controls.Maps.Map.Region.set -> void Microsoft.Maui.Controls.Maps.MapElement.IsVisible.get -> bool diff --git a/src/Controls/Maps/src/PublicAPI/net-tizen/PublicAPI.Unshipped.txt b/src/Controls/Maps/src/PublicAPI/net-tizen/PublicAPI.Unshipped.txt index ddbf4e1c505d..feb5228c6b1c 100644 --- a/src/Controls/Maps/src/PublicAPI/net-tizen/PublicAPI.Unshipped.txt +++ b/src/Controls/Maps/src/PublicAPI/net-tizen/PublicAPI.Unshipped.txt @@ -10,6 +10,7 @@ Microsoft.Maui.Controls.Maps.ClusterClickedEventArgs.Pins.get -> System.Collecti Microsoft.Maui.Controls.Maps.Map.ClusterClicked -> System.EventHandler? Microsoft.Maui.Controls.Maps.Map.IsClusteringEnabled.get -> bool Microsoft.Maui.Controls.Maps.Map.IsClusteringEnabled.set -> void +Microsoft.Maui.Controls.Maps.Map.MapLongClicked -> System.EventHandler? Microsoft.Maui.Controls.Maps.Map.Region.get -> Microsoft.Maui.Maps.MapSpan? Microsoft.Maui.Controls.Maps.Map.Region.set -> void Microsoft.Maui.Controls.Maps.MapElement.IsVisible.get -> bool diff --git a/src/Controls/Maps/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt b/src/Controls/Maps/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt index ddbf4e1c505d..feb5228c6b1c 100644 --- a/src/Controls/Maps/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt +++ b/src/Controls/Maps/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt @@ -10,6 +10,7 @@ Microsoft.Maui.Controls.Maps.ClusterClickedEventArgs.Pins.get -> System.Collecti Microsoft.Maui.Controls.Maps.Map.ClusterClicked -> System.EventHandler? Microsoft.Maui.Controls.Maps.Map.IsClusteringEnabled.get -> bool Microsoft.Maui.Controls.Maps.Map.IsClusteringEnabled.set -> void +Microsoft.Maui.Controls.Maps.Map.MapLongClicked -> System.EventHandler? Microsoft.Maui.Controls.Maps.Map.Region.get -> Microsoft.Maui.Maps.MapSpan? Microsoft.Maui.Controls.Maps.Map.Region.set -> void Microsoft.Maui.Controls.Maps.MapElement.IsVisible.get -> bool diff --git a/src/Controls/Maps/src/PublicAPI/net/PublicAPI.Unshipped.txt b/src/Controls/Maps/src/PublicAPI/net/PublicAPI.Unshipped.txt index ddbf4e1c505d..feb5228c6b1c 100644 --- a/src/Controls/Maps/src/PublicAPI/net/PublicAPI.Unshipped.txt +++ b/src/Controls/Maps/src/PublicAPI/net/PublicAPI.Unshipped.txt @@ -10,6 +10,7 @@ Microsoft.Maui.Controls.Maps.ClusterClickedEventArgs.Pins.get -> System.Collecti Microsoft.Maui.Controls.Maps.Map.ClusterClicked -> System.EventHandler? Microsoft.Maui.Controls.Maps.Map.IsClusteringEnabled.get -> bool Microsoft.Maui.Controls.Maps.Map.IsClusteringEnabled.set -> void +Microsoft.Maui.Controls.Maps.Map.MapLongClicked -> System.EventHandler? Microsoft.Maui.Controls.Maps.Map.Region.get -> Microsoft.Maui.Maps.MapSpan? Microsoft.Maui.Controls.Maps.Map.Region.set -> void Microsoft.Maui.Controls.Maps.MapElement.IsVisible.get -> bool diff --git a/src/Controls/Maps/src/PublicAPI/netstandard/PublicAPI.Unshipped.txt b/src/Controls/Maps/src/PublicAPI/netstandard/PublicAPI.Unshipped.txt index ddbf4e1c505d..feb5228c6b1c 100644 --- a/src/Controls/Maps/src/PublicAPI/netstandard/PublicAPI.Unshipped.txt +++ b/src/Controls/Maps/src/PublicAPI/netstandard/PublicAPI.Unshipped.txt @@ -10,6 +10,7 @@ Microsoft.Maui.Controls.Maps.ClusterClickedEventArgs.Pins.get -> System.Collecti Microsoft.Maui.Controls.Maps.Map.ClusterClicked -> System.EventHandler? Microsoft.Maui.Controls.Maps.Map.IsClusteringEnabled.get -> bool Microsoft.Maui.Controls.Maps.Map.IsClusteringEnabled.set -> void +Microsoft.Maui.Controls.Maps.Map.MapLongClicked -> System.EventHandler? Microsoft.Maui.Controls.Maps.Map.Region.get -> Microsoft.Maui.Maps.MapSpan? Microsoft.Maui.Controls.Maps.Map.Region.set -> void Microsoft.Maui.Controls.Maps.MapElement.IsVisible.get -> bool diff --git a/src/Controls/samples/Controls.Sample/Pages/Controls/MapsGalleries/MapLongClickGallery.xaml b/src/Controls/samples/Controls.Sample/Pages/Controls/MapsGalleries/MapLongClickGallery.xaml new file mode 100644 index 000000000000..386ace488716 --- /dev/null +++ b/src/Controls/samples/Controls.Sample/Pages/Controls/MapsGalleries/MapLongClickGallery.xaml @@ -0,0 +1,24 @@ + + + + + diff --git a/src/Controls/samples/Controls.Sample/Pages/Controls/MapsGalleries/MapLongClickGallery.xaml.cs b/src/Controls/samples/Controls.Sample/Pages/Controls/MapsGalleries/MapLongClickGallery.xaml.cs new file mode 100644 index 000000000000..48a44a3633e3 --- /dev/null +++ b/src/Controls/samples/Controls.Sample/Pages/Controls/MapsGalleries/MapLongClickGallery.xaml.cs @@ -0,0 +1,44 @@ +using Microsoft.Maui.Controls; +using Microsoft.Maui.Controls.Maps; +using Microsoft.Maui.Devices.Sensors; +using Microsoft.Maui.Graphics; +using Microsoft.Maui.Maps; +using Position = Microsoft.Maui.Devices.Sensors.Location; + +namespace Maui.Controls.Sample.Pages.MapsGalleries +{ + public partial class MapLongClickGallery : ContentPage + { + int _pinCount = 0; + + public MapLongClickGallery() + { + InitializeComponent(); + + // Center map on San Francisco + map.MoveToRegion(MapSpan.FromCenterAndRadius( + new Position(37.7749, -122.4194), + Distance.FromMiles(5))); + } + + void OnMapLongClicked(object? sender, MapClickedEventArgs e) + { + _pinCount++; + + // Update status label + StatusLabel.Text = $"Long press #{_pinCount} at ({e.Location.Latitude:F4}, {e.Location.Longitude:F4})"; + StatusLabel.TextColor = Colors.Green; + + // Add a pin at the long-pressed location + var pin = new Pin + { + Label = $"Pin #{_pinCount}", + Address = $"Added via long press", + Location = e.Location, + Type = PinType.Generic + }; + + map.Pins.Add(pin); + } + } +} diff --git a/src/Controls/samples/Controls.Sample/Pages/Controls/MapsGalleries/MapsGallery.cs b/src/Controls/samples/Controls.Sample/Pages/Controls/MapsGalleries/MapsGallery.cs index e90a369107b3..53e62425fbcc 100644 --- a/src/Controls/samples/Controls.Sample/Pages/Controls/MapsGalleries/MapsGallery.cs +++ b/src/Controls/samples/Controls.Sample/Pages/Controls/MapsGalleries/MapsGallery.cs @@ -22,6 +22,7 @@ public MapsGallery() GalleryBuilder.NavButton("Polygon", () => new PolygonsGallery(), Navigation), GalleryBuilder.NavButton("Element Visibility & ZIndex", () => new MapElementVisibilityGallery(), Navigation), GalleryBuilder.NavButton("MapElement Click Events", () => new MapElementClickGallery(), Navigation), + GalleryBuilder.NavButton("Map Long Click", () => new MapLongClickGallery(), Navigation), } } }; diff --git a/src/Controls/tests/Core.UnitTests/MapTests.cs b/src/Controls/tests/Core.UnitTests/MapTests.cs index 92b775596696..ee2de1e5c934 100644 --- a/src/Controls/tests/Core.UnitTests/MapTests.cs +++ b/src/Controls/tests/Core.UnitTests/MapTests.cs @@ -621,6 +621,57 @@ public void PolylineClickedEventSenderIsPolyline() Assert.Same(polyline, sender); } + [Fact] + public void MapLongClickedEventFires() + { + var map = new Map(); + var expectedLocation = new Location(37.79752, -122.40183); + + bool eventFired = false; + Location receivedLocation = null; + map.MapLongClicked += (s, e) => + { + eventFired = true; + receivedLocation = e.Location; + }; + + ((IMap)map).LongClicked(expectedLocation); + + Assert.True(eventFired); + Assert.Equal(expectedLocation.Latitude, receivedLocation.Latitude); + Assert.Equal(expectedLocation.Longitude, receivedLocation.Longitude); + } + + [Fact] + public void MapLongClickedEventSenderIsMap() + { + var map = new Map(); + + object sender = null; + map.MapLongClicked += (s, e) => sender = s; + + ((IMap)map).LongClicked(new Location(37.79752, -122.40183)); + + Assert.Same(map, sender); + } + + [Fact] + public void MapLongClickedEventArgsContainsLocation() + { + var map = new Map(); + var expectedLocation = new Location(47.6062, -122.3321); + + MapClickedEventArgs eventArgs = null; + map.MapLongClicked += (s, e) => eventArgs = e; + + ((IMap)map).LongClicked(expectedLocation); + + Assert.NotNull(eventArgs); + Assert.NotNull(eventArgs.Location); + Assert.Equal(expectedLocation.Latitude, eventArgs.Location.Latitude); + Assert.Equal(expectedLocation.Longitude, eventArgs.Location.Longitude); + } + [Fact] public void IsClusteringEnabledDefaultValue() { @@ -730,5 +781,75 @@ public void PinClusteringIdentifierImplementsIMapPin() IMapPin mapPin = pin; Assert.Equal("custom_cluster", mapPin.ClusteringIdentifier); } + + [Fact] + public void MapClickedAndLongClickedCanCoexist() + { + var map = new Map(); + var clickLocation = new Location(37.7749, -122.4194); + var longClickLocation = new Location(47.6062, -122.3321); + + bool clickFired = false; + bool longClickFired = false; + map.MapClicked += (s, e) => clickFired = true; + map.MapLongClicked += (s, e) => longClickFired = true; + + // Fire click - only click handler should respond + ((IMap)map).Clicked(clickLocation); + Assert.True(clickFired); + Assert.False(longClickFired); + + // Reset and fire long click - only long click handler should respond + clickFired = false; + ((IMap)map).LongClicked(longClickLocation); + Assert.False(clickFired); + Assert.True(longClickFired); + } + + [Fact] + public void MapLongClickedDoesNotFireWithoutHandler() + { + var map = new Map(); + + // Should not throw when no handler is attached + var exception = Record.Exception(() => ((IMap)map).LongClicked(new Location(37.7749, -122.4194))); + + Assert.Null(exception); + } + + [Fact] + public void MapLongClickedMultipleHandlersAllFire() + { + var map = new Map(); + var location = new Location(37.7749, -122.4194); + + int handler1Count = 0; + int handler2Count = 0; + map.MapLongClicked += (s, e) => handler1Count++; + map.MapLongClicked += (s, e) => handler2Count++; + + ((IMap)map).LongClicked(location); + + Assert.Equal(1, handler1Count); + Assert.Equal(1, handler2Count); + } + + [Fact] + public void MapLongClickedHandlerCanBeRemoved() + { + var map = new Map(); + var location = new Location(37.7749, -122.4194); + + int fireCount = 0; + EventHandler handler = (s, e) => fireCount++; + + map.MapLongClicked += handler; + ((IMap)map).LongClicked(location); + Assert.Equal(1, fireCount); + + map.MapLongClicked -= handler; + ((IMap)map).LongClicked(location); + Assert.Equal(1, fireCount); // Should still be 1, not 2 + } } } diff --git a/src/Core/maps/src/Core/IMap.cs b/src/Core/maps/src/Core/IMap.cs index 1a4bcfbe7809..ca0b468d1211 100644 --- a/src/Core/maps/src/Core/IMap.cs +++ b/src/Core/maps/src/Core/IMap.cs @@ -66,6 +66,11 @@ public interface IMap : IView /// if the click was handled and default behavior should be suppressed; otherwise . bool ClusterClicked(IReadOnlyList pins, Location location); + /// + /// Method called by the handler when user long-presses on the Map. + /// + void LongClicked(Location position); + /// /// Moves the map so that it displays the specified region. /// diff --git a/src/Core/maps/src/Handlers/Map/MapHandler.Android.cs b/src/Core/maps/src/Handlers/Map/MapHandler.Android.cs index 276edf5871ee..5ad932771474 100644 --- a/src/Core/maps/src/Handlers/Map/MapHandler.Android.cs +++ b/src/Core/maps/src/Handlers/Map/MapHandler.Android.cs @@ -75,6 +75,7 @@ protected override void DisconnectHandler(MapView platformView) Map.MarkerClick -= OnMarkerClick; Map.InfoWindowClick -= OnInfoWindowClick; Map.MapClick -= OnMapClick; + Map.MapLongClick -= OnMapLongClick; } _clusters?.Clear(); @@ -413,6 +414,7 @@ internal void OnMapReady(GoogleMap map) map.MarkerClick += OnMarkerClick; map.InfoWindowClick += OnInfoWindowClick; map.MapClick += OnMapClick; + map.MapLongClick += OnMapLongClick; if (VirtualView != null) { @@ -591,6 +593,9 @@ void OnInfoWindowClick(object? sender, GoogleMap.InfoWindowClickEventArgs e) void OnMapClick(object? sender, GoogleMap.MapClickEventArgs e) => VirtualView.Clicked(new Devices.Sensors.Location(e.Point.Latitude, e.Point.Longitude)); + void OnMapLongClick(object? sender, GoogleMap.MapLongClickEventArgs e) => + VirtualView.LongClicked(new Devices.Sensors.Location(e.Point.Latitude, e.Point.Longitude)); + void AddPins(IList pins) { //Mapper could be called before we have a Map ready diff --git a/src/Core/maps/src/Platform/iOS/MauiMKMapView.cs b/src/Core/maps/src/Platform/iOS/MauiMKMapView.cs index 09804cd12f93..96faa9ef2bc4 100644 --- a/src/Core/maps/src/Platform/iOS/MauiMKMapView.cs +++ b/src/Core/maps/src/Platform/iOS/MauiMKMapView.cs @@ -18,6 +18,8 @@ public class MauiMKMapView : MKMapView UITapGestureRecognizer? _mapClickedGestureRecognizer; bool _isClusteringEnabled; + UILongPressGestureRecognizer? _mapLongClickedGestureRecognizer; + public MauiMKMapView(IMapHandler handler) { _handlerRef = new WeakReference(handler); @@ -306,6 +308,11 @@ void Startup() { ShouldReceiveTouch = OnShouldReceiveMapTouch }); + + AddGestureRecognizer(_mapLongClickedGestureRecognizer = new UILongPressGestureRecognizer(OnMapLongClicked) + { + ShouldReceiveTouch = OnShouldReceiveMapTouch + }); } void Cleanup() @@ -316,6 +323,12 @@ void Cleanup() _mapClickedGestureRecognizer.Dispose(); _mapClickedGestureRecognizer = null; } + if (_mapLongClickedGestureRecognizer != null) + { + RemoveGestureRecognizer(_mapLongClickedGestureRecognizer); + _mapLongClickedGestureRecognizer.Dispose(); + _mapLongClickedGestureRecognizer = null; + } RegionChanged -= MkMapViewOnRegionChanged; DidSelectAnnotationView -= MkMapViewOnAnnotationViewSelected; } @@ -517,5 +530,21 @@ void SendClickEvent(IMKOverlay overlay) } } } + + static void OnMapLongClicked(UILongPressGestureRecognizer recognizer) + { + // Only trigger on the began state to avoid multiple callbacks + if (recognizer.State != UIGestureRecognizerState.Began) + return; + + if (recognizer.View is not MauiMKMapView mauiMkMapView) + return; + + var tapPoint = recognizer.LocationInView(mauiMkMapView); + var tapGPS = mauiMkMapView.ConvertPoint(tapPoint, mauiMkMapView); + + if (mauiMkMapView._handlerRef.TryGetTarget(out IMapHandler? handler)) + handler?.VirtualView.LongClicked(new Devices.Sensors.Location(tapGPS.Latitude, tapGPS.Longitude)); + } } } diff --git a/src/Core/maps/src/PublicAPI/net-android/PublicAPI.Unshipped.txt b/src/Core/maps/src/PublicAPI/net-android/PublicAPI.Unshipped.txt index ca3a9deaff76..200f222e2607 100644 --- a/src/Core/maps/src/PublicAPI/net-android/PublicAPI.Unshipped.txt +++ b/src/Core/maps/src/PublicAPI/net-android/PublicAPI.Unshipped.txt @@ -2,6 +2,7 @@ #nullable enable Microsoft.Maui.Maps.IMap.ClusterClicked(System.Collections.Generic.IReadOnlyList! pins, Microsoft.Maui.Devices.Sensors.Location! location) -> bool Microsoft.Maui.Maps.IMap.IsClusteringEnabled.get -> bool +Microsoft.Maui.Maps.IMap.LongClicked(Microsoft.Maui.Devices.Sensors.Location! position) -> void Microsoft.Maui.Maps.IMapElement.Clicked() -> void Microsoft.Maui.Maps.IMapElement.IsVisible.get -> bool Microsoft.Maui.Maps.IMapElement.ZIndex.get -> int diff --git a/src/Core/maps/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt b/src/Core/maps/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt index a2d9f131ee39..20169687a6a6 100644 --- a/src/Core/maps/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt +++ b/src/Core/maps/src/PublicAPI/net-ios/PublicAPI.Unshipped.txt @@ -2,6 +2,7 @@ #nullable enable Microsoft.Maui.Maps.IMap.ClusterClicked(System.Collections.Generic.IReadOnlyList! pins, Microsoft.Maui.Devices.Sensors.Location! location) -> bool Microsoft.Maui.Maps.IMap.IsClusteringEnabled.get -> bool +Microsoft.Maui.Maps.IMap.LongClicked(Microsoft.Maui.Devices.Sensors.Location! position) -> void Microsoft.Maui.Maps.IMapElement.Clicked() -> void Microsoft.Maui.Maps.IMapElement.IsVisible.get -> bool Microsoft.Maui.Maps.IMapElement.ZIndex.get -> int diff --git a/src/Core/maps/src/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt b/src/Core/maps/src/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt index a2d9f131ee39..20169687a6a6 100644 --- a/src/Core/maps/src/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt +++ b/src/Core/maps/src/PublicAPI/net-maccatalyst/PublicAPI.Unshipped.txt @@ -2,6 +2,7 @@ #nullable enable Microsoft.Maui.Maps.IMap.ClusterClicked(System.Collections.Generic.IReadOnlyList! pins, Microsoft.Maui.Devices.Sensors.Location! location) -> bool Microsoft.Maui.Maps.IMap.IsClusteringEnabled.get -> bool +Microsoft.Maui.Maps.IMap.LongClicked(Microsoft.Maui.Devices.Sensors.Location! position) -> void Microsoft.Maui.Maps.IMapElement.Clicked() -> void Microsoft.Maui.Maps.IMapElement.IsVisible.get -> bool Microsoft.Maui.Maps.IMapElement.ZIndex.get -> int diff --git a/src/Core/maps/src/PublicAPI/net-tizen/PublicAPI.Unshipped.txt b/src/Core/maps/src/PublicAPI/net-tizen/PublicAPI.Unshipped.txt index ca3a9deaff76..200f222e2607 100644 --- a/src/Core/maps/src/PublicAPI/net-tizen/PublicAPI.Unshipped.txt +++ b/src/Core/maps/src/PublicAPI/net-tizen/PublicAPI.Unshipped.txt @@ -2,6 +2,7 @@ #nullable enable Microsoft.Maui.Maps.IMap.ClusterClicked(System.Collections.Generic.IReadOnlyList! pins, Microsoft.Maui.Devices.Sensors.Location! location) -> bool Microsoft.Maui.Maps.IMap.IsClusteringEnabled.get -> bool +Microsoft.Maui.Maps.IMap.LongClicked(Microsoft.Maui.Devices.Sensors.Location! position) -> void Microsoft.Maui.Maps.IMapElement.Clicked() -> void Microsoft.Maui.Maps.IMapElement.IsVisible.get -> bool Microsoft.Maui.Maps.IMapElement.ZIndex.get -> int diff --git a/src/Core/maps/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt b/src/Core/maps/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt index ca3a9deaff76..200f222e2607 100644 --- a/src/Core/maps/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt +++ b/src/Core/maps/src/PublicAPI/net-windows/PublicAPI.Unshipped.txt @@ -2,6 +2,7 @@ #nullable enable Microsoft.Maui.Maps.IMap.ClusterClicked(System.Collections.Generic.IReadOnlyList! pins, Microsoft.Maui.Devices.Sensors.Location! location) -> bool Microsoft.Maui.Maps.IMap.IsClusteringEnabled.get -> bool +Microsoft.Maui.Maps.IMap.LongClicked(Microsoft.Maui.Devices.Sensors.Location! position) -> void Microsoft.Maui.Maps.IMapElement.Clicked() -> void Microsoft.Maui.Maps.IMapElement.IsVisible.get -> bool Microsoft.Maui.Maps.IMapElement.ZIndex.get -> int diff --git a/src/Core/maps/src/PublicAPI/net/PublicAPI.Unshipped.txt b/src/Core/maps/src/PublicAPI/net/PublicAPI.Unshipped.txt index ca3a9deaff76..200f222e2607 100644 --- a/src/Core/maps/src/PublicAPI/net/PublicAPI.Unshipped.txt +++ b/src/Core/maps/src/PublicAPI/net/PublicAPI.Unshipped.txt @@ -2,6 +2,7 @@ #nullable enable Microsoft.Maui.Maps.IMap.ClusterClicked(System.Collections.Generic.IReadOnlyList! pins, Microsoft.Maui.Devices.Sensors.Location! location) -> bool Microsoft.Maui.Maps.IMap.IsClusteringEnabled.get -> bool +Microsoft.Maui.Maps.IMap.LongClicked(Microsoft.Maui.Devices.Sensors.Location! position) -> void Microsoft.Maui.Maps.IMapElement.Clicked() -> void Microsoft.Maui.Maps.IMapElement.IsVisible.get -> bool Microsoft.Maui.Maps.IMapElement.ZIndex.get -> int diff --git a/src/Core/maps/src/PublicAPI/netstandard/PublicAPI.Unshipped.txt b/src/Core/maps/src/PublicAPI/netstandard/PublicAPI.Unshipped.txt index ca3a9deaff76..200f222e2607 100644 --- a/src/Core/maps/src/PublicAPI/netstandard/PublicAPI.Unshipped.txt +++ b/src/Core/maps/src/PublicAPI/netstandard/PublicAPI.Unshipped.txt @@ -2,6 +2,7 @@ #nullable enable Microsoft.Maui.Maps.IMap.ClusterClicked(System.Collections.Generic.IReadOnlyList! pins, Microsoft.Maui.Devices.Sensors.Location! location) -> bool Microsoft.Maui.Maps.IMap.IsClusteringEnabled.get -> bool +Microsoft.Maui.Maps.IMap.LongClicked(Microsoft.Maui.Devices.Sensors.Location! position) -> void Microsoft.Maui.Maps.IMapElement.Clicked() -> void Microsoft.Maui.Maps.IMapElement.IsVisible.get -> bool Microsoft.Maui.Maps.IMapElement.ZIndex.get -> int