Google Maps ofrece geocoder:
Extraido de la documentación de su API:
Geocoding is the process of converting addresses (like "1600 Amphitheatre Parkway, Mountain View, CA") into geographic coordinates (like latitude 37.423021 and longitude -122.083739), which you can use to place markers or position the map. The Google Maps API includes a Geocoding service that can be accessed directly via an HTTP request or by using a GClientGeocoder object.
Que básicamente quiere decir en español:
Geocodificar es el proceso de convertir direcciones (...) en coordenadas geográficas (latitud y longitud) que pueden ser utilizadas para poner marcadores o posicionar el mapa. La API de Google Maps incluye un servicio de geocodificación accesible directamente mediante petición HTTP o bien mediante un objeto de tipo GClientGeocoder.