public GMapMarkerPhoto(MAVLink.mavlink_camera_feedback_t mark, bool shotBellowMinInterval = false)
            : base(new PointLatLng(mark.lat / 1e7, mark.lng / 1e7))
        {
            local = mark;
            this.shotBellowMinInterval = shotBellowMinInterval;
            Offset      = new Point(-localcache1.Width / 2, -localcache1.Height / 2);
            Size        = localcache1.Size;
            Alt         = mark.alt_msl;
            ToolTipMode = MarkerTooltipMode.OnMouseOver;

            Roll  = local.roll - rolltrim;
            Pitch = local.pitch - pitchtrim;
            Yaw   = local.yaw - yawtrim;

            ToolTipText = "Photo" + "\nAlt: " + mark.alt_msl + "\nNo: " + mark.img_idx + "\nRoll: " + Roll.ToString("0.00");

            Tag = mark.time_usec;

            var footprint = ImageProjection.calc(new PointLatLngAlt(Position.Lat, Position.Lng, Alt), Roll,
                                                 Pitch, Yaw, hfov, vfov);

            footprintpoly = new GMapPolygon(footprint.ConvertAll(x => x.Point()), "FP" + mark.time_usec);

            footprintpoly.Fill   = Brushes.Transparent;
            footprintpoly.Stroke = Pens.Crimson;
        }
        public GMapMarkerPhoto(MAVLink.mavlink_camera_feedback_t mark, bool shotBellowMinInterval = false)
            : base(new PointLatLng(mark.lat / 1e7, mark.lng / 1e7))
        {
            local = mark;
            this.shotBellowMinInterval = shotBellowMinInterval;
            Offset      = new Point(-16, -16);
            Size        = localcache1.Size;
            Alt         = mark.alt_msl;
            ToolTipMode = MarkerTooltipMode.OnMouseOver;
            ToolTipText = "Photo" + "\nAlt: " + mark.alt_msl + "\nNo: " + mark.img_idx;

            Tag = mark.time_usec;

            var footprint = ImageProjection.calc(new PointLatLngAlt(Position.Lat, Position.Lng, Alt), local.roll - rolltrim,
                                                 local.pitch - pitchtrim, local.yaw - yawtrim, hfov, vfov);

            footprintpoly = new GMapPolygon(footprint.ConvertAll(x => x.Point()), "FP" + mark.time_usec);

            footprintpoly.Fill = Brushes.Transparent;
        }