/// <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); } }