Здравствуйте. Уже видел в клубе много вопросов подобного характера, но почему то ни одно решение не подошло, видимо я тупой или руки кривые... А может и то и другое.
Задача простая, нужна функция дистанции между двумя точками, которая впоследствии превратится в SQL запрос на выборку точек из карты.
SELECT
sqrt(POWER((($x1 - x)*cos(RADIANS($x1))*40000/360), 2) + POWER((($y1 -
y)*111), 2)) as distance FROM `table` HAVING `distance` < 2
работает правильно и выбирает мне радиус точек меньше 2км от $x1 и $y1
НО
Круг, который начерчен средствами yandex map, а именно кодом:
var myCircle = new Circle2(new YMaps.GeoPoint({location}), 1.8,{
style : {
polygonStyle : {
outline : true,
strokeWidth : 2,
strokeColor : "0000ff22",
fillColor : "00000000"
}
},
interactive : YMaps.Interactivity.NONE
});
map.addOverlay(myCircle)
не совпадает с результатами выборки и имеется погрешность равная изгибу по паралели.
Помогите
найти решение, либо сделать из круга овал, который будет точно включать
в себя результаты запроса, либо изменить запрос, чтобы результаты
вписывались в этот круг.
Заранее благодарю за помощь