Допустим, юзер жмякнул карту по координатам {lat, lon}
Ты в цикле перебираешь массив станций метро с их координатами (у тебя ведь есть такой массив, да?), для каждой вычисляешь расстояние от точки, если расстояние меньше некоторого значения, добавляешь в результат.
Для Москвы (широта примерно 60 гр) расстояние вычисляется так:
function distance60(c1, c2) {
return Math.pow(c1.lat - c2.lat, 2) * 4 + Math.pow(c1.lon - c2.lon, 2);
}
это на самом деле квадрат расстояния, в неких абстрактных единицах, просто для того чтобы сравнить с другими.