Один из способов, который я использовал, - это использование API карт Google, чтобы возвращать широту / долготу для заданного почтового индекса / почтового индекса или города и т. Д. Обычно он неплохо справляется с различными входными данными.
К сожалению, я не надеваюУ меня нет примеров C, но можно опубликовать пример VB.Net, если это поможет