Вероятно, самый простой способ - использовать что-то вроде Google Geocoding API . Он возьмет строку и попытается разобрать ее в определенном месте. Вы можете получить вывод в виде XML, JSON, CSV.
Вот несколько примеров вывода CSV:
input : gaborone, botswana
output: 200,4,-24.6541100,25.9087390
input : #siliconcape
output: 602,0,0,0
input : 40.75,-73.997
output: 200,8,"324 W 30th St, New York, NY 10001, USA"