我正在使用GMap.NET和OpenStreenMap提供程序开展我的第一个测试项目。我找到了一些如何为Google Map提供商添加标记的示例,但很难为OSM提供商做同样的事情。以下代码
GMapOverlay markersOverlay = new GMapOverlay("markers");
markersOverlay.Markers.Add(new GMapMarker(new PointLatLng(44.05946, -79.459518)));
给了我以下错误:
无法创建抽象类或界面的实例' GMapMarker'
在Google地图提供商的示例中,正在使用GMarkerGoogle,如下所示:
GMarkerGoogle marker = new GMarkerGoogle(new PointLatLng(-25.966688, 32.580528),
new Bitmap("c:\images\mymarker.png");
但我找不到有关如何为OpenStreetMaps添加标记的任何信息。
答案 0 :(得分:1)
您需要指定提供者:
yourMap.MapProvider = GMapProviders.OpenStreetMap;
然后如果我没记错的话,就行了......
GMap.NET.PointLatLng point = new GMap.NET.PointLatLng(1231231, 123123);
var marker = new GMapMarker(point);
或类似的东西......祝你好运:)。
更新: 试试GMarkerCross。这是源代码:https://greatmaps.codeplex.com/SourceControl/latest#GMap.NET.WindowsForms/GMap.NET.WindowsForms/Markers/GMarkerCross.cs