我想在WPF中使用GMAP.NET 我添加了GMap.NET.Core.dll和GMap.NET.WindowsForms.dll作为对我的项目的引用。 在此document的帮助下,我使用的是GMAP.Net,但使用的是WPF。现在,我想为标记使用一个自定义图标,但找不到方法。 我的代码如下
gmap.MapProvider = GMap.NET.MapProviders.BingMapProvider.Instance;
GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerOnly;
gmap.Position = new GMap.NET.PointLatLng(35.6960617168288, 51.4005661010742);
gmap.ShowCenter = false;
GMap.NET.WindowsPresentation.GMapMarker marker = new GMap.NET.WindowsPresentation.GMapMarker(new GMap.NET.PointLatLng(35.6960617168288, 51.4005661010742));
marker.Shape = new Ellipse
{
Width = 10,
Height = 10,
Stroke = Brushes.Red,
StrokeThickness = 1.5,
ToolTip = "This is tooltip",
Visibility=Visibility.Visible,
Fill=Brushes.Red,
};
gmap.Markers.Add(marker);
感谢您的帮助。
答案 0 :(得分:0)
使用Image
的实例作为Shape
属性的值:
marker.Shape = new Image
{
Width = 10,
Height = 10,
Source = new BitmapImage(new System.Uri("pack://application:,,,/assets/marker.png"))
};
答案 1 :(得分:0)
更多搜索后,我发现此代码有效:
System.Windows.Media.Imaging.BitmapImage bitmapImage = new System.Windows.Media.Imaging.BitmapImage();
bitmapImage.BeginInit();
bitmapImage.UriSource = new Uri(@"D:\s.gif");
bitmapImage.EndInit();
GMap.NET.WindowsPresentation.GMapMarker marker2 = new GMap.NET.WindowsPresentation.GMapMarker(new GMap.NET.PointLatLng(35.6960617168288, 51.4005661010742));
System.Windows.Controls.Image image = new System.Windows.Controls.Image();
image.Source = bitmapImage;
marker2.Shape = image;
gmap.Markers.Add(marker2);
这link帮助了我。