private IList <IGPSLocation> getSelectedGPSLocations(IMapDrawContext drawContext) { IList <IGPSLocation> list = new List <IGPSLocation>() { }; IMapControl mapControl = UI.MapLayers.MapControlLayer.Instance.MapControl; ICollection <IMapControlObject> selectedGPS = mapControl.Selected; if (selectedGPS.Count > 0) { IMapControlObject[] selectedMapControlObjects = new IMapControlObject[selectedGPS.Count]; selectedGPS.CopyTo(selectedMapControlObjects, 0); for (int i = 0; i < selectedGPS.Count; i++) { Rectangle rec = selectedMapControlObjects[i].PixelBounds(drawContext); int X = rec.X + (rec.Width / 2) - (drawContext.DrawRectangle.Width / 2); int Y = rec.Y + (rec.Height / 2) - (drawContext.DrawRectangle.Height / 2); IGPSLocation loc = drawContext.Projection.PixelToGPS(drawContext.Center, drawContext.ZoomLevel, new Point(X, Y)); list.Add(loc); } } return(list); }
private IList<IGPSLocation> getSelectedGPSLocations(IMapDrawContext drawContext) { IList<IGPSLocation> list = new List<IGPSLocation>() { }; IMapControl mapControl = UI.MapLayers.MapControlLayer.Instance.MapControl; ICollection<IMapControlObject> selectedGPS = mapControl.Selected; if (selectedGPS.Count > 0) { IMapControlObject[] selectedMapControlObjects = new IMapControlObject[selectedGPS.Count]; selectedGPS.CopyTo(selectedMapControlObjects, 0); for (int i = 0; i < selectedGPS.Count; i++) { Rectangle rec = selectedMapControlObjects[i].PixelBounds(drawContext); int X = rec.X + (rec.Width / 2) - (drawContext.DrawRectangle.Width / 2); int Y = rec.Y + (rec.Height / 2) - (drawContext.DrawRectangle.Height / 2); IGPSLocation loc = drawContext.Projection.PixelToGPS(drawContext.Center, drawContext.ZoomLevel, new Point(X, Y)); list.Add(loc); } } return list; }