I apologize for the smugness, I was just a bit irritated. Thanks for pointing that out kindly :)
Michael complained that the query repeated the same computation each time, which is an odd thing to say, because that is its purpose. He expected memoization, which the library function did not offer, so he added that. But there's no reason to be dissatisfied with the code for not doing something its not supposed to do, or its developers for not adding an unnecessary feature.
His memoization does support varying radius, but only in a narrow subset of {5, 10, 20, 30, 40, 50}. Of course this is a huge performance optimization for the app, but in general it is impractical for provide memoization like this for an arbitrary radius.