Есть две задачи. На карте размещаются компании и нужно сделать блоки:
1. 5 самых ближайших компаний с выводом сколько примерно до них расстояние от текущей
2. вывести ближайшее метро к компании
на входе имеется адрес и lat,lon. Можно ли как то все посчитать mysql? Может это как-то математически(геометрия таки) считается?
Можно, вот так: gis.stackexchange.com/questions/31628/find-points-...
Если бы у вас была база, которая полностью поддерживает геопространственные функции (то есть умеет проецировать географические координаты в плоские прямоугольные, например) это было бы проще.
Максим Гречушников: А так, ради самообразования, можете посмотреть на postgis.net/docs/ST_Distance.html
Там есть и более точные функции (которые учитывают кривизну Земли), но для подобной задачи они и так уже избыточны.
Если есть координаты текущей точки и ближайшей станции метро - то прямой путь можно найти методами школьной геометрии. Если нужен путь по улицам - через API карт.