private void map_MouseMove(object sender, MouseEventArgs e)
{
PointLatLng point = map.FromLocalToLatLng(e.X, e.Y);
currentMousePosition = point;
if (MouseDownStart == point)
return;
if (!isMouseDown)
{
// update mouse pos display
//SetMouseDisplay(point.Lat, point.Lng, 0);
}
//draging
if (e.Button == MouseButtons.Left && isMouseDown)
{
isMouseDraging = true;
if (CurrentGMapMarker != null)
{
if (CurrentGMapMarkerIndex == -1)
{
isMouseDraging = false;
return;
}
PointLatLng pnew = map.FromLocalToLatLng(e.X, e.Y);
CurrentGMapMarker.Position = pnew;
list[CurrentGMapMarkerIndex] = new PointLatLngAlt(pnew);
domainUpDown1_ValueChanged(sender, e);
}
else // left click pan
{
double latdif = MouseDownStart.Lat - point.Lat;
double lngdif = MouseDownStart.Lng - point.Lng;
try
{
lock (thisLock)
{
map.Position = new PointLatLng(map.Position.Lat + latdif, map.Position.Lng + lngdif);
}
}
catch { }
}
}
}