ThinkGeo.com    |     Documentation    |     Premium Support

Markerovelay

 Hello,


 


I use the ovelay marker with drag option :



 Map1.CustomOverlays.Clear();


                PointShape point = Map1.CurrentExtent.GetCenterPoint();


                //Map1.CurrentExtent = new RectangleShape(x_coor - 0.001, y_coor + 0.001, x_coor + 0.001, y_coor - 0.001);


                markerOverlay1.DragMode = MarkerDragMode.Drag;


                markerOverlay1.Markers.Add(new Marker(point.X, point.Y, new WebImage(21, 25, -10.5f, -25f)));


                Map1.CustomOverlays.Add(markerOverlay1);


when i drag the marker he also pan the map in way the the marker locate in the map center, but once you pan that map the drag mode only drag the marker without paning the map, i need to get back the position coordinate of the marker after draging so if it stop paning the map i mcant know the recent posion of the marker (not center map any more) any idea how i fix this issue?


 


thanks


Jamil




Hi Jamil, 
  
 I tested our UseDraggableMarkers sample, it looks different with your description. When I drag the marker, the map won’t pan, and when I pan the map, map and marker will move together. 
  
 Does I misunderstand you? 
  
 Regards, 
  
 Don

Hi Don,


 


I test it many times when i added marker with drag mode it pan the map every time you drag the marker until you touch the map (click in the map or pan it), anyway i attach this code:


 


 public static PointShape point_marker = new PointShape() ; //(should be locate at the start of the class before the load_page void/procedure)


 


protected void Button2_Click(object sender, EventArgs e)


        {


            Map1.CustomOverlays.Clear();


            PointShape point = Map1.CurrentExtent.GetCenterPoint();


            point_marker = point;


            //Map1.CurrentExtent = new RectangleShape(x_coor - 0.001, y_coor + 0.001, x_coor + 0.001, y_coor - 0.001);


            markerOverlay1.DragMode = MarkerDragMode.Drag;


            markerOverlay1.Markers.Add(new Marker(point.X, point.Y, new WebImage(21, 25, -10.5f, -25f)));


            markerOverlay1.MarkerDragged += new EventHandler<MarkerDraggedEventArgs> (markerOverlay1_MarkerDragged);


            Map1.CustomOverlays.Add(markerOverlay1);


        }


        public void markerOverlay1_MarkerDragged(object sender, MarkerDraggedEventArgs e)


        {


            point_marker.X = e.MarkerPosition.X;


            point_marker.Y = e.MarkerPosition.Y;


        }


I add marker drag event, so now i don't care who move what' either the marker move the map or not at least i can know the exact coordinate of the marker every time u end drag session.


 


thank you


 


Jamil Garzuzi


 



Hi Jamil,


Thanks for your code.


I tested your code and it looks MarkerDragged function works well here.


Please unzip it and replace them to original UseDraggableMarkers sample files in your HowDoISample and please let me know whether that works for you.


Here is the path in my machine: C:\Program Files (x86)\ThinkGeo\Map Suite Web Full Edition 5.0\Samples\CSharp Samples\Samples\Markers


Regards,


Don



UseDraggableMarkers.aspx.zip (2.43 KB)