mirror of
https://github.com/ClemensFischer/XAML-Map-Control.git
synced 2025-12-06 07:12:04 +01:00
Map menus
This commit is contained in:
parent
c54a0cf91f
commit
f1fa37a9a5
18
.gitignore
vendored
18
.gitignore
vendored
|
|
@ -1,3 +1,21 @@
|
||||||
.vs/
|
.vs/
|
||||||
bin/
|
bin/
|
||||||
obj/
|
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
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,10 @@
|
||||||
<map:MapItemsControl ItemsSource="{Binding Pushpins}"
|
<map:MapItemsControl ItemsSource="{Binding Pushpins}"
|
||||||
SelectedItem="{Binding SelectedPushpin}"
|
SelectedItem="{Binding SelectedPushpin}"
|
||||||
SelectionMode="Multiple"
|
SelectionMode="Multiple"
|
||||||
SelectionChanged="MapItemsControlSelectionChanged">
|
SelectionChanged="MapItemsControlSelectionChanged"
|
||||||
|
PointerPressed="MapItemsControl_PointerPressed"
|
||||||
|
PointerReleased="MapItemsControl_PointerReleased"
|
||||||
|
Tapped="MapItemsControl_Tapped">
|
||||||
<map:MapItemsControl.Styles>
|
<map:MapItemsControl.Styles>
|
||||||
<Style Selector="map|MapItem">
|
<Style Selector="map|MapItem">
|
||||||
<Setter Property="map:MapPanel.Location" Value="{Binding Location}"/>
|
<Setter Property="map:MapPanel.Location" Value="{Binding Location}"/>
|
||||||
|
|
|
||||||
|
|
@ -12,8 +12,8 @@ namespace SampleApplication
|
||||||
{
|
{
|
||||||
public MainWindow()
|
public MainWindow()
|
||||||
{
|
{
|
||||||
//TileImageLoader.Cache = new MapControl.Caching.ImageFileCache(TileImageLoader.DefaultCacheFolder);
|
TileImageLoader.Cache = new MapControl.Caching.ImageFileCache(TileImageLoader.DefaultCacheFolder);
|
||||||
//Closed += (s, e) => (TileImageLoader.Cache as IDisposable)?.Dispose();
|
Closed += (s, e) => (TileImageLoader.Cache as IDisposable)?.Dispose();
|
||||||
|
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
AddTestLayers();
|
AddTestLayers();
|
||||||
|
|
@ -140,5 +140,20 @@ namespace SampleApplication
|
||||||
|
|
||||||
return string.Format(CultureInfo.InvariantCulture, "\n {0:" + distanceFormat + "} {1}", distance, unit);
|
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");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
using MapControl;
|
using MapControl;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
|
|
||||||
namespace SampleApplication
|
namespace SampleApplication
|
||||||
|
|
@ -15,12 +16,14 @@ namespace SampleApplication
|
||||||
public LocationCollection Locations { get; set; }
|
public LocationCollection Locations { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class MapViewModel
|
public class MapViewModel : INotifyPropertyChanged
|
||||||
{
|
{
|
||||||
public List<PointItem> Points { get; } = new List<PointItem>();
|
public List<PointItem> Points { get; } = new List<PointItem>();
|
||||||
public List<PointItem> Pushpins { get; } = new List<PointItem>();
|
public List<PointItem> Pushpins { get; } = new List<PointItem>();
|
||||||
public List<PolylineItem> Polylines { get; } = new List<PolylineItem>();
|
public List<PolylineItem> Polylines { get; } = new List<PolylineItem>();
|
||||||
|
|
||||||
|
public event PropertyChangedEventHandler PropertyChanged;
|
||||||
|
|
||||||
private PointItem selectedPushpin;
|
private PointItem selectedPushpin;
|
||||||
|
|
||||||
public PointItem SelectedPushpin
|
public PointItem SelectedPushpin
|
||||||
|
|
@ -29,6 +32,7 @@ namespace SampleApplication
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
selectedPushpin = value;
|
selectedPushpin = value;
|
||||||
|
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(SelectedPushpin)));
|
||||||
Debug.WriteLine("SelectedPushpin: " + (selectedPushpin?.Name ?? "None"));
|
Debug.WriteLine("SelectedPushpin: " + (selectedPushpin?.Name ?? "None"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ namespace SampleApplication
|
||||||
{
|
{
|
||||||
public MainPage()
|
public MainPage()
|
||||||
{
|
{
|
||||||
//TileImageLoader.Cache = new MapControl.Caching.ImageFileCache(TileImageLoader.DefaultCacheFolder);
|
TileImageLoader.Cache = new MapControl.Caching.ImageFileCache(TileImageLoader.DefaultCacheFolder);
|
||||||
|
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
AddTestLayers();
|
AddTestLayers();
|
||||||
|
|
|
||||||
|
|
@ -164,7 +164,11 @@
|
||||||
SelectedItem="{Binding SelectedPushpin, Mode=TwoWay}"
|
SelectedItem="{Binding SelectedPushpin, Mode=TwoWay}"
|
||||||
SelectionMode="Extended"
|
SelectionMode="Extended"
|
||||||
LocationMemberPath="Location"
|
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 Location="53.5,8.2" Stroke="Blue" StrokeThickness="3" Fill="#1F007F00" IsHitTestVisible="False">
|
||||||
<map:MapPath.Data>
|
<map:MapPath.Data>
|
||||||
|
|
|
||||||
|
|
@ -15,8 +15,9 @@ namespace SampleApplication
|
||||||
{
|
{
|
||||||
public MainWindow()
|
public MainWindow()
|
||||||
{
|
{
|
||||||
//TileImageLoader.Cache = new MapControl.Caching.ImageFileCache(TileImageLoader.DefaultCacheFolder);
|
TileImageLoader.Cache = new MapControl.Caching.ImageFileCache(TileImageLoader.DefaultCacheFolder);
|
||||||
//Closed += (s, e) => (TileImageLoader.Cache as IDisposable)?.Dispose();
|
//TileImageLoader.Cache = new MapControl.Caching.SQLiteCache(TileImageLoader.DefaultCacheFolder);
|
||||||
|
Closed += (s, e) => (TileImageLoader.Cache as IDisposable)?.Dispose();
|
||||||
|
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
AddTestLayers();
|
AddTestLayers();
|
||||||
|
|
@ -147,5 +148,25 @@ namespace SampleApplication
|
||||||
|
|
||||||
return string.Format(CultureInfo.InvariantCulture, "\n {0:" + distanceFormat + "} {1}", distance, unit);
|
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");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -136,7 +136,19 @@
|
||||||
ItemsSource="{Binding Pushpins}"
|
ItemsSource="{Binding Pushpins}"
|
||||||
SelectedItem="{Binding SelectedPushpin}"
|
SelectedItem="{Binding SelectedPushpin}"
|
||||||
SelectionMode="Extended"
|
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="65,-18" Content="Iceland"/>
|
||||||
<map:Pushpin AutoCollapse="True" Location="71,25" Content="Norway"/>
|
<map:Pushpin AutoCollapse="True" Location="71,25" Content="Norway"/>
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ namespace SampleApplication
|
||||||
public MainWindow()
|
public MainWindow()
|
||||||
{
|
{
|
||||||
//TileImageLoader.Cache = new MapControl.Caching.ImageFileCache(TileImageLoader.DefaultCacheFolder);
|
//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);
|
//TileImageLoader.Cache = new MapControl.Caching.FileDbCache(TileImageLoader.DefaultCacheFolder);
|
||||||
|
|
||||||
Closed += (s, e) => (TileImageLoader.Cache as IDisposable)?.Dispose();
|
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);
|
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");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,11 +16,6 @@
|
||||||
<Compile Remove="..\Shared\ValueConverters.cs" />
|
<Compile Remove="..\Shared\ValueConverters.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="..\..\MapControl\WPF\MapControl.WPF.csproj" />
|
|
||||||
<ProjectReference Include="..\..\MapUiTools\WPF\MapUiTools.WPF.csproj" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="..\Shared\10_535_330.jpg" Link="10_535_330.jpg">
|
<Content Include="..\Shared\10_535_330.jpg" Link="10_535_330.jpg">
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
|
@ -33,4 +28,10 @@
|
||||||
<ItemGroup Condition="'$(TargetFramework)'=='net48'">
|
<ItemGroup Condition="'$(TargetFramework)'=='net48'">
|
||||||
<Reference Include="System.Net.Http" />
|
<Reference Include="System.Net.Http" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\..\Caches\FileDbCache\FileDbCache.csproj" />
|
||||||
|
<ProjectReference Include="..\..\Caches\SQLiteCache\SQLiteCache.csproj" />
|
||||||
|
<ProjectReference Include="..\..\MapUiTools\WPF\MapUiTools.WPF.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue