private void AddPOIToMap(MapPoint mp) { var newPic = new PictureBox(); newPic.SizeMode = PictureBoxSizeMode.AutoSize; newPic.Parent = pictureBox1; newPic.BackColor = Color.Transparent; //calc the upper left corner of the map square int picX = 0; int picY = 0; if (!mp.IsX_East) { picX = 2066 - 20 - (40 * mp.X); } else { picX = 2066 - 20 + (40 * mp.X); } if (!mp.IsY_South) { picY = 2066 - 20 - (40 * mp.Y); } else { picY = 2066 - 20 + (40 * mp.Y); } newPic.Location = new Point(picX, picY + 3); newPic.Image = imgListPOI.Images[(int)mp.PoiType]; newPic.BringToFront(); newPic.Tag = mp; newPic.ContextMenuStrip = mnuWaypointRightClick; newPic.Click += newPic_Click; newPic.MouseDown += newPic_MouseDown; if (pictureBoxes == null) pictureBoxes = new List<PictureBox>(); pictureBoxes.Add(newPic); }
private MapPoint CalulateMapPosition(int x, int y) { var mp = new MapPoint(); //calc east/west int xVal = 0; if (x < 2066) { mp.IsX_East = false; int val1 = 2066 - x - 20; if (val1 < 0) val1 = 0; else xVal = val1 / 40 + 1; } else { int val1 = x - 2066 - 20; if (val1 < 0) val1 = 0; else xVal = val1 / 40 + 1; } //calc north south int yVal = 0; if (y < 2066) { mp.IsY_South = false; int val1 = 2066 - y - 20; if (val1 < 0) val1 = 0; else yVal = val1 / 40 + 1; } else { int val1 = y - 2066 - 20; if (val1 < 0) val1 = 0; else yVal = val1 / 40 + 1; } mp.X = xVal; mp.Y = yVal; return mp; }