mirror of
https://github.com/ClemensFischer/XAML-Map-Control.git
synced 2025-12-06 07:12:04 +01:00
Version 2.4.7: Added work-around for missing PropertyChangedCallback for the MapPath.Data property.
This commit is contained in:
parent
dfabb2a7eb
commit
e9868a993d
|
|
@ -7,8 +7,8 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyCompany("Clemens Fischer")]
|
[assembly: AssemblyCompany("Clemens Fischer")]
|
||||||
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyVersion("2.4.6")]
|
[assembly: AssemblyVersion("2.4.7")]
|
||||||
[assembly: AssemblyFileVersion("2.4.6")]
|
[assembly: AssemblyFileVersion("2.4.7")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,8 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyCompany("Clemens Fischer")]
|
[assembly: AssemblyCompany("Clemens Fischer")]
|
||||||
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyVersion("2.4.6")]
|
[assembly: AssemblyVersion("2.4.7")]
|
||||||
[assembly: AssemblyFileVersion("2.4.6")]
|
[assembly: AssemblyFileVersion("2.4.7")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,8 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyCompany("Clemens Fischer")]
|
[assembly: AssemblyCompany("Clemens Fischer")]
|
||||||
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyVersion("2.4.6")]
|
[assembly: AssemblyVersion("2.4.7")]
|
||||||
[assembly: AssemblyFileVersion("2.4.6")]
|
[assembly: AssemblyFileVersion("2.4.7")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,8 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyCompany("Clemens Fischer")]
|
[assembly: AssemblyCompany("Clemens Fischer")]
|
||||||
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyVersion("2.4.6")]
|
[assembly: AssemblyVersion("2.4.7")]
|
||||||
[assembly: AssemblyFileVersion("2.4.6")]
|
[assembly: AssemblyFileVersion("2.4.7")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,12 @@
|
||||||
// Licensed under the Microsoft Public License (Ms-PL)
|
// Licensed under the Microsoft Public License (Ms-PL)
|
||||||
|
|
||||||
#if WINDOWS_RUNTIME
|
#if WINDOWS_RUNTIME
|
||||||
|
using Windows.Foundation;
|
||||||
|
using Windows.UI.Xaml.Media;
|
||||||
using Windows.UI.Xaml.Shapes;
|
using Windows.UI.Xaml.Shapes;
|
||||||
#else
|
#else
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Media;
|
||||||
using System.Windows.Shapes;
|
using System.Windows.Shapes;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -16,5 +20,24 @@ namespace MapControl
|
||||||
{
|
{
|
||||||
MapPanel.AddParentMapHandlers(this);
|
MapPanel.AddParentMapHandlers(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Geometry data;
|
||||||
|
|
||||||
|
protected override Size MeasureOverride(Size constraint)
|
||||||
|
{
|
||||||
|
// Work-around for missing PropertyChangedCallback for the Data property.
|
||||||
|
if (data != Data)
|
||||||
|
{
|
||||||
|
data = Data;
|
||||||
|
UpdateData();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Path.MeasureOverride in Windows Runtime sometimes returns an empty Size,
|
||||||
|
// whereas in Silverlight it occasionally throws an ArgumentException,
|
||||||
|
// apparently because it tries to create a Size from negative width or height,
|
||||||
|
// which result from a transformed Geometry.
|
||||||
|
// In either case it seems to be sufficient to simply return a non-zero size.
|
||||||
|
return new Size(1, 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,5 +24,11 @@ namespace MapControl
|
||||||
{
|
{
|
||||||
get { return Data; }
|
get { return Data; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override Size MeasureOverride(Size constraint)
|
||||||
|
{
|
||||||
|
// Shape.MeasureOverride sometimes returns an empty Size.
|
||||||
|
return new Size(1, 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,8 @@
|
||||||
// Licensed under the Microsoft Public License (Ms-PL)
|
// Licensed under the Microsoft Public License (Ms-PL)
|
||||||
|
|
||||||
#if WINDOWS_RUNTIME
|
#if WINDOWS_RUNTIME
|
||||||
using Windows.Foundation;
|
|
||||||
using Windows.UI.Xaml.Media;
|
using Windows.UI.Xaml.Media;
|
||||||
#else
|
#else
|
||||||
using System.Windows;
|
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -44,15 +42,5 @@ namespace MapControl
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override Size MeasureOverride(Size constraint)
|
|
||||||
{
|
|
||||||
// base.MeasureOverride in WPF and Windows Runtime sometimes return a Size
|
|
||||||
// with zero width or height, whereas in Silverlight it occasionally throws
|
|
||||||
// an ArgumentException, as it tries to create a Size from a negative width
|
|
||||||
// or height, apparently resulting from a transformed Geometry.
|
|
||||||
// In either case it seems to be sufficient to simply return a non-zero size.
|
|
||||||
return new Size(1, 1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,8 @@ using System.Windows;
|
||||||
[assembly: AssemblyCompany("Clemens Fischer")]
|
[assembly: AssemblyCompany("Clemens Fischer")]
|
||||||
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyVersion("2.4.6")]
|
[assembly: AssemblyVersion("2.4.7")]
|
||||||
[assembly: AssemblyFileVersion("2.4.6")]
|
[assembly: AssemblyFileVersion("2.4.7")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,8 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyCompany("Clemens Fischer")]
|
[assembly: AssemblyCompany("Clemens Fischer")]
|
||||||
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyVersion("2.4.6")]
|
[assembly: AssemblyVersion("2.4.7")]
|
||||||
[assembly: AssemblyFileVersion("2.4.6")]
|
[assembly: AssemblyFileVersion("2.4.7")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,8 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyCompany("Clemens Fischer")]
|
[assembly: AssemblyCompany("Clemens Fischer")]
|
||||||
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyVersion("2.4.6")]
|
[assembly: AssemblyVersion("2.4.7")]
|
||||||
[assembly: AssemblyFileVersion("2.4.6")]
|
[assembly: AssemblyFileVersion("2.4.7")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,8 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyCompany("Clemens Fischer")]
|
[assembly: AssemblyCompany("Clemens Fischer")]
|
||||||
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyVersion("2.4.6")]
|
[assembly: AssemblyVersion("2.4.7")]
|
||||||
[assembly: AssemblyFileVersion("2.4.6")]
|
[assembly: AssemblyFileVersion("2.4.7")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
|
|
|
||||||
|
|
@ -163,10 +163,19 @@
|
||||||
|
|
||||||
<Path map:MapPanel.Location="53.5,8.2" Stroke="Blue" StrokeThickness="3" Fill="#1F007F00">
|
<Path map:MapPanel.Location="53.5,8.2" Stroke="Blue" StrokeThickness="3" Fill="#1F007F00">
|
||||||
<Path.Data>
|
<Path.Data>
|
||||||
<EllipseGeometry RadiusX="500" RadiusY="500" Transform="{Binding ScaleTransform, ElementName=map}"/>
|
<EllipseGeometry RadiusX="1852" RadiusY="1852" Transform="{Binding ScaleTransform, ElementName=map}"/>
|
||||||
</Path.Data>
|
</Path.Data>
|
||||||
</Path>
|
</Path>
|
||||||
|
|
||||||
|
<map:MapPath Fill="Aqua" Opacity="0.5">
|
||||||
|
<map:MapPath.Data>
|
||||||
|
<GeometryGroup FillRule="EvenOdd">
|
||||||
|
<EllipseGeometry Center="8.2,63.5" RadiusX="0.025" RadiusY="0.025"/>
|
||||||
|
<EllipseGeometry Center="8.2,63.51" RadiusX="0.015" RadiusY="0.015"/>
|
||||||
|
</GeometryGroup>
|
||||||
|
</map:MapPath.Data>
|
||||||
|
</map:MapPath>
|
||||||
|
|
||||||
<map:Pushpin map:MapPanel.Location="53.5,8.2" Background="Yellow" Foreground="Blue" Content="N 53° 30' E 8° 12'"/>
|
<map:Pushpin map:MapPanel.Location="53.5,8.2" Background="Yellow" Foreground="Blue" Content="N 53° 30' E 8° 12'"/>
|
||||||
</map:Map>
|
</map:Map>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,8 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyCompany("Clemens Fischer")]
|
[assembly: AssemblyCompany("Clemens Fischer")]
|
||||||
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyVersion("2.4.6")]
|
[assembly: AssemblyVersion("2.4.7")]
|
||||||
[assembly: AssemblyFileVersion("2.4.6")]
|
[assembly: AssemblyFileVersion("2.4.7")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
|
|
|
||||||
|
|
@ -189,10 +189,19 @@
|
||||||
<map:Location Latitude="53.5" Longitude="8.2"/>
|
<map:Location Latitude="53.5" Longitude="8.2"/>
|
||||||
</map:MapPanel.Location>
|
</map:MapPanel.Location>
|
||||||
<Path.Data>
|
<Path.Data>
|
||||||
<EllipseGeometry RadiusX="1000" RadiusY="1000" Transform="{Binding ScaleTransform, ElementName=map}"/>
|
<EllipseGeometry RadiusX="1852" RadiusY="1852" Transform="{Binding ScaleTransform, ElementName=map}"/>
|
||||||
</Path.Data>
|
</Path.Data>
|
||||||
</Path>
|
</Path>
|
||||||
|
|
||||||
|
<map:MapPath Fill="Aqua" Opacity="0.5">
|
||||||
|
<map:MapPath.Data>
|
||||||
|
<GeometryGroup FillRule="EvenOdd">
|
||||||
|
<EllipseGeometry Center="8.2,63.5" RadiusX="0.025" RadiusY="0.025"/>
|
||||||
|
<EllipseGeometry Center="8.2,63.51" RadiusX="0.015" RadiusY="0.015"/>
|
||||||
|
</GeometryGroup>
|
||||||
|
</map:MapPath.Data>
|
||||||
|
</map:MapPath>
|
||||||
|
|
||||||
<map:Pushpin Background="Yellow" Foreground="Blue" Content="N 53° 30' E 8° 12'">
|
<map:Pushpin Background="Yellow" Foreground="Blue" Content="N 53° 30' E 8° 12'">
|
||||||
<map:MapPanel.Location>
|
<map:MapPanel.Location>
|
||||||
<map:Location Latitude="53.5" Longitude="8.2"/>
|
<map:Location Latitude="53.5" Longitude="8.2"/>
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,8 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyCompany("Clemens Fischer")]
|
[assembly: AssemblyCompany("Clemens Fischer")]
|
||||||
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyVersion("2.4.6")]
|
[assembly: AssemblyVersion("2.4.7")]
|
||||||
[assembly: AssemblyFileVersion("2.4.6")]
|
[assembly: AssemblyFileVersion("2.4.7")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
|
|
|
||||||
|
|
@ -218,6 +218,15 @@
|
||||||
</Path.Data>
|
</Path.Data>
|
||||||
</Path>
|
</Path>
|
||||||
|
|
||||||
|
<map:MapPath Fill="Aqua" Opacity="0.5">
|
||||||
|
<map:MapPath.Data>
|
||||||
|
<GeometryGroup FillRule="EvenOdd">
|
||||||
|
<EllipseGeometry Center="8.2,63.5" RadiusX="0.025" RadiusY="0.025"/>
|
||||||
|
<EllipseGeometry Center="8.2,63.51" RadiusX="0.015" RadiusY="0.015"/>
|
||||||
|
</GeometryGroup>
|
||||||
|
</map:MapPath.Data>
|
||||||
|
</map:MapPath>
|
||||||
|
|
||||||
<map:Pushpin map:MapPanel.Location="53.5,8.2" Background="Yellow" Foreground="Blue" Content="N 53° 30' E 8° 12'">
|
<map:Pushpin map:MapPanel.Location="53.5,8.2" Background="Yellow" Foreground="Blue" Content="N 53° 30' E 8° 12'">
|
||||||
<map:Pushpin.Visibility>
|
<map:Pushpin.Visibility>
|
||||||
<MultiBinding Converter="{StaticResource LocationToVisibilityConverter}">
|
<MultiBinding Converter="{StaticResource LocationToVisibilityConverter}">
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,8 @@ using System.Runtime.InteropServices;
|
||||||
[assembly: AssemblyCompany("Clemens Fischer")]
|
[assembly: AssemblyCompany("Clemens Fischer")]
|
||||||
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
[assembly: AssemblyCopyright("© 2015 Clemens Fischer")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyVersion("2.4.6")]
|
[assembly: AssemblyVersion("2.4.7")]
|
||||||
[assembly: AssemblyFileVersion("2.4.6")]
|
[assembly: AssemblyFileVersion("2.4.7")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
[assembly: ComVisible(false)]
|
[assembly: ComVisible(false)]
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue