Map menus

This commit is contained in:
ClemensFischer 2025-03-22 17:08:43 +01:00
parent c54a0cf91f
commit f1fa37a9a5
10 changed files with 153 additions and 15 deletions

18
.gitignore vendored
View file

@ -1,3 +1,21 @@
.vs/
bin/
obj/
Experimental/
DistributedCache/
TestApps/
TestData/
Win2D/
Caches/ZoneTreeCache/
SampleApps/Shared/TestLayers.cs
SampleApps/Shared/ChartServerLayer.cs
SampleApps/WinUiApp/TileLoader.cs
SampleApps/WpfApplication/TileLoader.cs
MapControlExperimental.sln
MapControlTestApps.sln
*.user
*.cache
*.nupkg
*.pdf
*.txt
*.cmd

View file

@ -64,7 +64,10 @@
<map:MapItemsControl ItemsSource="{Binding Pushpins}"
SelectedItem="{Binding SelectedPushpin}"
SelectionMode="Multiple"
SelectionChanged="MapItemsControlSelectionChanged">
SelectionChanged="MapItemsControlSelectionChanged"
PointerPressed="MapItemsControl_PointerPressed"
PointerReleased="MapItemsControl_PointerReleased"
Tapped="MapItemsControl_Tapped">
<map:MapItemsControl.Styles>
<Style Selector="map|MapItem">
<Setter Property="map:MapPanel.Location" Value="{Binding Location}"/>

View file

@ -12,8 +12,8 @@ namespace SampleApplication
{
public MainWindow()
{
//TileImageLoader.Cache = new MapControl.Caching.ImageFileCache(TileImageLoader.DefaultCacheFolder);
//Closed += (s, e) => (TileImageLoader.Cache as IDisposable)?.Dispose();
TileImageLoader.Cache = new MapControl.Caching.ImageFileCache(TileImageLoader.DefaultCacheFolder);
Closed += (s, e) => (TileImageLoader.Cache as IDisposable)?.Dispose();
InitializeComponent();
AddTestLayers();
@ -140,5 +140,20 @@ namespace SampleApplication
return string.Format(CultureInfo.InvariantCulture, "\n {0:" + distanceFormat + "} {1}", distance, unit);
}
private void MapItemsControl_PointerPressed(object sender, Avalonia.Input.PointerPressedEventArgs e)
{
Debug.WriteLine("PointerPressed");
}
private void MapItemsControl_PointerReleased(object sender, Avalonia.Input.PointerReleasedEventArgs e)
{
Debug.WriteLine("PointerReleased");
}
private void MapItemsControl_Tapped(object sender, Avalonia.Input.TappedEventArgs e)
{
Debug.WriteLine("Tapped");
}
}
}

View file

@ -1,5 +1,6 @@
using MapControl;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
namespace SampleApplication
@ -15,12 +16,14 @@ namespace SampleApplication
public LocationCollection Locations { get; set; }
}
public class MapViewModel
public class MapViewModel : INotifyPropertyChanged
{
public List<PointItem> Points { get; } = new List<PointItem>();
public List<PointItem> Pushpins { get; } = new List<PointItem>();
public List<PolylineItem> Polylines { get; } = new List<PolylineItem>();
public event PropertyChangedEventHandler PropertyChanged;
private PointItem selectedPushpin;
public PointItem SelectedPushpin
@ -29,6 +32,7 @@ namespace SampleApplication
set
{
selectedPushpin = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(SelectedPushpin)));
Debug.WriteLine("SelectedPushpin: " + (selectedPushpin?.Name ?? "None"));
}
}

View file

@ -15,7 +15,7 @@ namespace SampleApplication
{
public MainPage()
{
//TileImageLoader.Cache = new MapControl.Caching.ImageFileCache(TileImageLoader.DefaultCacheFolder);
TileImageLoader.Cache = new MapControl.Caching.ImageFileCache(TileImageLoader.DefaultCacheFolder);
InitializeComponent();
AddTestLayers();

View file

@ -164,7 +164,11 @@
SelectedItem="{Binding SelectedPushpin, Mode=TwoWay}"
SelectionMode="Extended"
LocationMemberPath="Location"
SelectionChanged="MapItemsControlSelectionChanged"/>
SelectionChanged="MapItemsControlSelectionChanged"
PointerPressed="MapItemsControl_PointerPressed"
PointerReleased="MapItemsControl_PointerReleased"
Tapped="MapItemsControl_Tapped"
RightTapped="MapItemsControl_RightTapped"/>
<map:MapPath Location="53.5,8.2" Stroke="Blue" StrokeThickness="3" Fill="#1F007F00" IsHitTestVisible="False">
<map:MapPath.Data>

View file

@ -15,8 +15,9 @@ namespace SampleApplication
{
public MainWindow()
{
//TileImageLoader.Cache = new MapControl.Caching.ImageFileCache(TileImageLoader.DefaultCacheFolder);
//Closed += (s, e) => (TileImageLoader.Cache as IDisposable)?.Dispose();
TileImageLoader.Cache = new MapControl.Caching.ImageFileCache(TileImageLoader.DefaultCacheFolder);
//TileImageLoader.Cache = new MapControl.Caching.SQLiteCache(TileImageLoader.DefaultCacheFolder);
Closed += (s, e) => (TileImageLoader.Cache as IDisposable)?.Dispose();
InitializeComponent();
AddTestLayers();
@ -147,5 +148,25 @@ namespace SampleApplication
return string.Format(CultureInfo.InvariantCulture, "\n {0:" + distanceFormat + "} {1}", distance, unit);
}
private void MapItemsControl_Tapped(object sender, TappedRoutedEventArgs e)
{
Debug.WriteLine("MapItemsControl_Tapped");
}
private void MapItemsControl_RightTapped(object sender, RightTappedRoutedEventArgs e)
{
Debug.WriteLine("MapItemsControl_RightTapped");
}
private void MapItemsControl_PointerPressed(object sender, PointerRoutedEventArgs e)
{
Debug.WriteLine("MapItemsControl_PointerPressed");
}
private void MapItemsControl_PointerReleased(object sender, PointerRoutedEventArgs e)
{
Debug.WriteLine("MapItemsControl_PointerReleased");
}
}
}

View file

@ -136,7 +136,19 @@
ItemsSource="{Binding Pushpins}"
SelectedItem="{Binding SelectedPushpin}"
SelectionMode="Extended"
SelectionChanged="MapItemsControlSelectionChanged"/>
SelectionChanged="MapItemsControlSelectionChanged"
PreviewMouseLeftButtonDown="MapItemsControl_PreviewMouseLeftButtonDown"
PreviewMouseLeftButtonUp="MapItemsControl_PreviewMouseLeftButtonUp"
PreviewMouseRightButtonDown="MapItemsControl_PreviewMouseRightButtonDown"
PreviewMouseRightButtonUp="MapItemsControl_PreviewMouseRightButtonUp"
PreviewTouchDown="MapItemsControl_PreviewTouchDown"
PreviewTouchUp="MapItemsControl_PreviewTouchUp"
MouseLeftButtonDown="MapItemsControl_MouseLeftButtonDown"
MouseLeftButtonUp="MapItemsControl_MouseLeftButtonUp"
MouseRightButtonDown="MapItemsControl_MouseRightButtonDown"
MouseRightButtonUp="MapItemsControl_MouseRightButtonUp"
TouchDown="MapItemsControl_TouchDown"
TouchUp="MapItemsControl_TouchUp"/>
<map:Pushpin AutoCollapse="True" Location="65,-18" Content="Iceland"/>
<map:Pushpin AutoCollapse="True" Location="71,25" Content="Norway"/>

View file

@ -14,7 +14,7 @@ namespace SampleApplication
public MainWindow()
{
//TileImageLoader.Cache = new MapControl.Caching.ImageFileCache(TileImageLoader.DefaultCacheFolder);
//TileImageLoader.Cache = new MapControl.Caching.SQLiteCache(TileImageLoader.DefaultCacheFolder);
TileImageLoader.Cache = new MapControl.Caching.SQLiteCache(TileImageLoader.DefaultCacheFolder);
//TileImageLoader.Cache = new MapControl.Caching.FileDbCache(TileImageLoader.DefaultCacheFolder);
Closed += (s, e) => (TileImageLoader.Cache as IDisposable)?.Dispose();
@ -142,5 +142,65 @@ namespace SampleApplication
return string.Format(CultureInfo.InvariantCulture, "\n {0:" + distanceFormat + "} {1}", distance, unit);
}
private void MapItemsControl_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
Debug.WriteLine("PreviewMouseLeftButtonDown");
}
private void MapItemsControl_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
Debug.WriteLine("PreviewMouseLeftButtonUp");
}
private void MapItemsControl_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
Debug.WriteLine("MouseLeftButtonDown");
}
private void MapItemsControl_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
Debug.WriteLine("MouseLeftButtonUp");
}
private void MapItemsControl_PreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
Debug.WriteLine("PreviewMouseRightButtonDown");
}
private void MapItemsControl_PreviewMouseRightButtonUp(object sender, MouseButtonEventArgs e)
{
Debug.WriteLine("PreviewMouseRightButtonUp");
}
private void MapItemsControl_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
Debug.WriteLine("MouseRightButtonDown");
}
private void MapItemsControl_MouseRightButtonUp(object sender, MouseButtonEventArgs e)
{
Debug.WriteLine("MouseRightButtonUp");
}
private void MapItemsControl_TouchDown(object sender, TouchEventArgs e)
{
Debug.WriteLine("TouchDown");
}
private void MapItemsControl_TouchUp(object sender, TouchEventArgs e)
{
Debug.WriteLine("TouchUp");
}
private void MapItemsControl_PreviewTouchDown(object sender, TouchEventArgs e)
{
Debug.WriteLine("PreviewTouchDown");
}
private void MapItemsControl_PreviewTouchUp(object sender, TouchEventArgs e)
{
Debug.WriteLine("PreviewTouchUp");
}
}
}

View file

@ -16,11 +16,6 @@
<Compile Remove="..\Shared\ValueConverters.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\MapControl\WPF\MapControl.WPF.csproj" />
<ProjectReference Include="..\..\MapUiTools\WPF\MapUiTools.WPF.csproj" />
</ItemGroup>
<ItemGroup>
<Content Include="..\Shared\10_535_330.jpg" Link="10_535_330.jpg">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
@ -33,4 +28,10 @@
<ItemGroup Condition="'$(TargetFramework)'=='net48'">
<Reference Include="System.Net.Http" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Caches\FileDbCache\FileDbCache.csproj" />
<ProjectReference Include="..\..\Caches\SQLiteCache\SQLiteCache.csproj" />
<ProjectReference Include="..\..\MapUiTools\WPF\MapUiTools.WPF.csproj" />
</ItemGroup>
</Project>