Пример #1
0
        // 点的鼠标移动事件,如果是选中状态下,则拖动图元
        private void gmapControl_MouseMovePoint(object sender, MouseEventArgs e)
        {
            //线移动
            var lnglat = gmapControl.FromLocalToLatLng(e.X, e.Y);
            int index  = route.Points.FindIndex(o => o == CurrentPoint.Position);

            if (index != -1)
            {
                route.Points[index] = lnglat;
            }
            //点移动
            CurrentPoint.Position = lnglat;
            gmapControl.UpdateRouteLocalPosition(route);
        }
Пример #2
0
        public void DrawRoute(ref GMapControl gMapControl, ref List <PointLatLng> route)
        {
            GMapRoute gmapRoute = new GMapRoute(route, " ");

            gmapRoute.Stroke.Color = Color.Blue;
            m_overlayRoute.Routes.Add(gmapRoute);
            gMapControl.Overlays.Add(m_overlayRoute);
            gMapControl.UpdateRouteLocalPosition(gmapRoute);
        }
Пример #3
0
        /// <summary>
        /// 鼠标移动,实时绘制
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void gmapControl_MouseMove(object sender, MouseEventArgs e)
        {
            if (isMouseDown == false)
            {
                return;
            }
            if (isFinish)
            {
                return;
            }
            var lngLat = gmapControl.FromLocalToLatLng(e.X, e.Y);

            gmapRoute.Points[1] = lngLat;
            gmapControl.UpdateRouteLocalPosition(gmapRoute);
            gmapControl.Refresh();
        }
Пример #4
0
        private void drawPolyLine(List <Location> points, GMapControl gmap)
        {
            gmap.Overlays.Clear();
            PointLatLng start = new PointLatLng(points[0].Latitude, points[0].Longitude);
            PointLatLng end   = new PointLatLng(points[points.Count - 1].Latitude, points[points.Count - 1].Longitude);

            gmap.Position = start;

            //MARKERS
            GMapMarker start_marker = new GMarkerGoogle(start, GMarkerGoogleType.red_dot);
            GMapMarker end_marker   = new GMarkerGoogle(end, GMarkerGoogleType.blue_dot);

            start_marker.ToolTipText = "Start point\n" + "Latitude: " + start.Lat + "\nLongitude: " + start.Lng;
            end_marker.ToolTipText   = "End point\n" + "Latitude: " + end.Lat + "\nLongitude: " + end.Lng;
            GMapOverlay markers = new GMapOverlay("markers");

            markers.Markers.Add(start_marker);
            markers.Markers.Add(end_marker);

            gmap.Overlays.Add(markers);


            //ROUTES
            List <PointLatLng> waypoints = new List <PointLatLng>();

            foreach (Location point in points)
            {
                waypoints.Add(new PointLatLng(point.Latitude, point.Longitude));
            }

            GMapRoute r = new GMapRoute("My Route")
            {
                Stroke = new Pen(Color.Red, 5)
            };
            GMapOverlay routes = new GMapOverlay("routes");

            routes.Routes.Add(r);
            gmap.Overlays.Add(routes);

            foreach (PointLatLng point in waypoints)
            {
                r.Points.Add(point);
            }

            gmap.UpdateRouteLocalPosition(r);
        }