Карта OpenStreetMap в приложении Delphi
На форме разместить поле ввода адреса (нужен "умный" поиск) и поле в котором отображается карта (например TWebBrowser), и две кнопки - "поиск" и "рассчитать маршрут". Функционал необходим следующий: при установке маркера на карте в определенную позицию, ее адрес отображается в поле ввода адреса. При вводе адреса в поле ввода и нажатии кнопки "поиск" маркер на карте соответственно должен устанавливаться в нужную позицию. При этом нужно что бы при вводе адреса в поле поиска ниспадающим списком отображались подсказки, наподобие того как это реализовано у гугла, яндекса и т.д.
При нажатии "рассчитать маршрут" рассчитывается кратчайшее расстояние между точкой отсчета (оно задается двумя константами широта и долгота в тексте программы) и найденным адресом, и эта величина отображается в виде надписи на форме.