На работе используем google maps для расчета маршрутов, но чем популярнее становится наш сервис, тем больше жалоб на неправильно рассчитанные маршруты. Причем эта тварь может выдать координаты с разницей в четыре километра для одного и того же адреса написанного по разному. Например Brivibas 372 и Brivibas gatve 372 оказывается два разных адреса! Не, ну я все понимаю, ну сказал бы про один из них: мол, нет такого, ошиблись вы, гражданин! А он наоборот: выбирай какой тебе ближе - туда и ехайте, товарищ!
Не вижу нормальных вариантов кроме использования коммерческого классификатора адресов с координатами. Они тоже не на 100% покрывают страну, но, по крайней мере, дубликатов адресов с разными координатами там нет.
Движок карты, можно и дальше гугловский использовать, или osm, а координаты из внешних сервисов брать.
А какое-то время назад вообще лажа случилась, гугл в карте Риги по запросу Lidosta (Аэропорт) начал первым выдавать координаты мелкого аэропорта где, по моему только частники летают, вместо международно Латвийского. Жалоб было - пипец. Этот мелкий аэропорт километров на 7 ближе к центру города.