I had this problem with my beagle, I am happy to say she recalls to a whistle like a speeding bullet now.
I stopped letting her off the lead and kept her on a long line until I was confident she was sufficiently trained to go off lead again.
I decided to train her to recall to a whistle as I know she can sense stress and anger in my voice which is unavoidable when she is haring around ignoring you!
I started training her at home, had her on a short lead in house and garden, blew whistle when she looked at me I gave her a treat. Kept doing this for couple of days, then let her off lead in garden, blew whistle, she came to me for treat, as she now associated whistle with treat. Kept doing this at random times from within house in other rooms and in garden, when she could and couldn't see me. Once she came every time I whistled I took her to the park.
I put her on a 20ft training line and practised whistle and treat again. I did this for a week until she came back every time.
Then when I was confident she was ready, I left an ordinary lead on her but let it trail behind her, and let her run, whistle treat, just kept repeating. I left lead on it to make it easier to catch her if I needed to.
After another couple of weeks I took lead off totally and let her go. Now have very good recall. She will ignore me if she has found food to steal though! But I am conscious of environment when I want to let her off, and if I see any potential distractions I will keep her on long line till it's passed. I also recall her several times and put lead on at random times so she does not know when lead is going on to go home.
I am not a trainer, I took this advice from a trainer and with patience and lots of practice it worked.
Hope it works for you too.