Я добавил маркер, используя GMap с указанным значением lat/long. Когда приложение запускается, маркер помещается в неправильное положение (в центре управления GMap), а затем, когда я увеличиваю масштаб, он переходит к указанным координатам. Это ошибка в GMap или я что-то не так? Вот код.Первоначально маркер GMap.Net в неправильном положении
GMapOverlay markersOverlay, mo2;
GMarkerGoogle marker, marker5;
GMapOverlay polyOverlay;
List<PointLatLng> points;
GMapRoute gr;
Graphics g;
bool start = true;
double move = .0001;
//double move = 1;
double lt = 73, lg = -180;
// double lt = 29, lg = -93;
public Form1()
{
AllocConsole();
InitializeComponent();
try
{
System.Net.IPHostEntry e =
System.Net.Dns.GetHostEntry("www.google.com");
}
catch
{
gmap.Manager.Mode = AccessMode.CacheOnly;
MessageBox.Show("No internet connection avaible, going to CacheOnly mode.",
"GMap.NET - Demo.WindowsForms", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
}
gmap.MapProvider = GMapProviders.BingHybridMap;
gmap.Position = new PointLatLng(32, -100);
gmap.MinZoom = 3;
gmap.MaxZoom = 15;
gmap.Zoom = 9;
markersOverlay = new GMapOverlay("markers");
mo2 = new GMapOverlay("markers5");
marker5 = new GMarkerGoogle(new PointLatLng(lt, lg),
GMarkerGoogleType.orange_small);
g = this.CreateGraphics();
}
private void Form1_Load(object sender, EventArgs e)
{
gmap.DragButton = MouseButtons.Left;
gmap.ShowCenter = false;
points = new List<PointLatLng>();
polyOverlay = new GMapOverlay("polygons");
// gmap.Position = new PointLatLng(32.6961334816182, -100.2985095977783);
// gmap.MinZoom = 0;
GMapPolygon polygon = new GMapPolygon(points, "mypolygon");
polygon.Fill = new SolidBrush(Color.FromArgb(50, Color.Magenta));
// polygon.f
polygon.Stroke = new Pen(Color.Magenta, 2);
}
protected void OnMouseMove(object sender, MouseEventArgs e)
{
// base.OnMouseMove(e);
PointLatLng p = gmap.FromLocalToLatLng(e.X, e.Y);
MouseLatLong.Text = Convert.ToString(p);
// Console.WriteLine(marker.Position.Lat);
}
private void SubmitButton_Click(object sender, EventArgs e)
{
// gmap.Position = new PointLatLng(40.6961334816182, -100.2985095977783);
marker = new GMarkerGoogle(new PointLatLng(double.Parse(LattextBox.Text), double.Parse(LongtextBox.Text)),
new Bitmap(@"C:\Users\Vaib\Documents\Visual Studio 2013\Projects\testGmap\testGmap\Resources\wpt.png"));
// GMarkerGoogle marker = new GMarkerGoogle(new PointLatLng(-25.966688, 32.580528),flag);
mo2.Markers.Add(marker);
gmap.Overlays.Add(mo2);
marker.ToolTip = new GMapToolTip(marker);
marker.ToolTipText = NametextBox.Text;
marker.ToolTipMode = MarkerTooltipMode.Always;
// x++;
if (start)
{
gmap.Position = new PointLatLng(marker.Position.Lat, marker.Position.Lng);
start = false;
}
points.Add(new PointLatLng(marker.Position.Lat, marker.Position.Lng));
// points.Add(new PointLatLng(double.Parse(LattextBox.Text), double.Parse(LongtextBox.Text)));
// GMapPolygon polygon = new GMapPolygon(points, "mypolygon");
gr = new GMapRoute(points, "route");
gr.Stroke = new Pen(Color.Magenta, 2);
//Console.WriteLine(gr.From + "-->"+gr.To);
// polygon.Stroke = new Pen(Color.Magenta, 2);
polyOverlay.Routes.Add(gr);
gmap.Overlays.Add(polyOverlay);
// m1 = new GMarkerGoogle(new PointLatLng(gr.From.Value.Lat, gr.From.Value.Lng),
//GMarkerGoogleType.yellow_small);
ga = new GMarkerArrow(new PointLatLng(gr.From.Value.Lat, gr.From.Value.Lng));
if (points.Count >= 2)
ga.Bearing = (float)final(gr.From.Value.Lat, gr.From.Value.Lng, points[1].Lat, points[1].Lng);
// marker2 = new GMapMarkerImage(new PointLatLng(marker.Position.Lat, marker.Position.Lng),
markersOverlay.Clear();
//m1.rot(180);
// m1.OnRender(g);
// markersOverlay.Markers.Add(marker2);
markersOverlay.Markers.Add(ga);
gmap.Overlays.Add(markersOverlay);
}
Есть ли способ refresh() на gmap? – Nattrass
Я только спрашиваю, потому что это звучит так, будто ваш дисплей недействителен, а затем перерисовывается при масштабировании. Так что, возможно, вы можете заставить это случиться. – Nattrass
В отличие от форумов, мы не используем «Спасибо» или «Любая помощь оценена» или подписи на [so]. См. «[Должны ли« Привет »,« спасибо », теги и приветствия удалены из сообщений?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be –