Y a sabéis que soy partidario y contribuidor de Openstreetmap por sus múltiples ventajas, pero hay que reconocer que Google tiene herramientas precisas y eficaces de las que aún no disponemos en el mundo libre, y una de allas es la Api de Google Maps.

Es posible obtener la Latitud y Longitud de una calle, tan sólo pasánsole el String y parseando el JSON resultante:

<?php
 
$direccion = 'Calle Serrano 154, Madrid, España';
 
// Obtener los resultados JSON de la peticion.
$geo = file_get_contents('http://maps.googleapis.com/maps/api/geocode/json?address='.urlencode($direccion).'&sensor=false');
 
// Convertir el JSON en array.
$geo = json_decode($geo, true);
 
// Si todo esta bien
if ($geo['status'] = 'OK') {
	// Obtener los valores
	$latitud = $geo['results'][0]['geometry']['location']['lat'];
	$longitud = $geo['results'][0]['geometry']['location']['lng'];
}
 
echo "Latitud: ".$latitud." longitud: ".$longitud;