private void loadMap()
{
MainMap.ShowCenter = false;
string cor = string.Empty;
using (MySqlConnection sqlConn = new MySqlConnection(myConnectionString))
{
sqlConn.Open();
using (MySqlCommand cmd = new MySqlCommand())
{
cmd.CommandText = "SELECT * FROM event WHERE [email protected]";
cmd.Connection = sqlConn;
cmd.Parameters.AddWithValue("@eventId", EventId);
using (MySqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
cor = reader.GetString("EventCor");
}
}
}
}
string[] cord = cor.Split(',');
if (cor != string.Empty)
{
Lat = Convert.ToDouble(cord[0]);
Lng = Convert.ToDouble(cord[1]);
// Initialize map:
//GMap.NET.MapProviders.OpenCycleMapProvider
MainMap.MapProvider = GMap.NET.MapProviders.GoogleMapProvider.Instance;
GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerOnly;
MainMap.Position = new PointLatLng(Lat, Lng);
GMapOverlay markersOverlay = new GMapOverlay("markers");
GMarkerGoogle marker = new GMarkerGoogle(new PointLatLng(lat, lng),
GMarkerGoogleType.green);
markersOverlay.Markers.Add(marker);
MainMap.Overlays.Add(markersOverlay);
}
}
上面是我加载gmap的方法。问题是,如果我再次加载地图,上一个标记将保留在地图上。 因此,我想在加载地图之前删除地图上的所有标记。 谢谢你的帮助。C#gmap清除所有标记
你确定你的代码编译?我不这么认为,因为'cor = reader.GetString(“EventCor”)'行。 'GetString'应该将'int'作为参数,而不是'string'。 –