0

我正在使用 GMap.NET 和 OpenStreenMap 提供程序进行我的第一个测试项目。我找到了一些如何为谷歌地图提供者添加标记的例子,但很难为 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 添加标记的信息。

4

1 回答 1

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

于 2015-10-15T15:15:31.407 回答