Calcular distancia usando CEP ou Geo ou Endereço

Pessoal, tenho um banco de dados com milhares de endereços. Com base em um endereço central, quero saber quais endereços estão próximos a uma distancia de N Km?

Alguém pode dizer para usar a API do Google porem, preciso resolver a lógica primeiro.
Não posso simplesmente pegar um Endereço X Endereço Central, passá-los para a API do Google e sair comparando o resultado.

Lembra? tenho milhares de endereços.

Seria ± como o HelloFood faz.

alguém ?