Пример #1
0
        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);
        }
Пример #2
0
		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;
		}