Пример #1
0
        /// <summary>
        /// find nearest exhanger from current mouse position
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void findNearestToolStripMenuItem_Click(object sender, EventArgs e)
        {
            PointLatLng objPosition = GetCursorPosition();

            using (var objProvider = new BankProvider()) {
                List <CurrencyExchanger> objExchangers = new List <CurrencyExchanger>();
                foreach (var marker in objMarkersOverlay.Markers)
                {
                    CurrencyExchanger exchanger = objProvider.GetExchangerById((int)marker.Tag);
                    if (exchanger != null)
                    {
                        objExchangers.Add(exchanger);
                    }
                }
                CurrencyExchanger objNearestExchanger = objProvider.GetNearestExchanger(objPosition.Lat, objPosition.Lng, objExchangers);

                var objMarker = new GMarkerGoogle(new PointLatLng(objNearestExchanger.X, objNearestExchanger.Y), GMarkerGoogleType.blue);
                objMarker.Tag = objNearestExchanger.Id;
                gMapControl1.UpdateMarkerLocalPosition(objMarker);
                var markersOverlay = new GMapOverlay();
                markersOverlay.Markers.Add(objMarker);
                gMapControl1.Overlays.Add(markersOverlay);
            }
        }