Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Yandex map api или Yandex static (https://javascript.ru/forum/dom-window/61062-yandex-map-api-ili-yandex-static.html)

arahmanov 03.02.2016 02:06

Yandex map api или Yandex static
 
Вложений: 1
Всем доброй ночи.
Требуется помощь, точнее просто необходима.
Сориентируйте стоит ли вообще использовать Яндекса api или просто взять статическую карту и наложить canvas
Прошу прощения если вопрос не по теме.

И так есть известен центр точка с координаторами ширине и долготе
известен радиус круга в метрах. круг нарисован но на самом деле он не очень и нужен. нужны две прямые и дуга

Необходимо нарисовать дугу: между двух точек и думаю что это можно сделать следующим образом. см рисунок

я думал что просто нарисую две Линии но оказалось что нужно указать точные координаты/ которых нет.

тогда я подумал что можно :
прибавить к широте и долготе расстояние и угол чтобы получить координаты но как это сделать?
моих мозгов не хватило. Хотя я нашел формулу сложение двух координат по широте и долготе для получения расстояния в метрах но в обратную сторону ее переделать не смог.

Все бросил полез в canvas нарисовал, что требуется наложил на карту и тут блин понимаю что не соответствие размеров нарисованного мной в канвасе со статической картой размеры нарисованные мной пиксильные и как отобразить в нужных мне метрах . да и еще и радиус в последствие будет меняться.

Вообщем вернулся к api смотрю на него и пишу Вам , что делать

destus 03.02.2016 08:19

Вам известны координаты точек в полярной системе координат. Переведите их в декартову.

arahmanov 03.02.2016 11:02

Цитата:

Сообщение от destus (Сообщение 406129)
Вам известны координаты точек в полярной системе координат. Переведите их в декартову.

они мне не известны, их нужно найти зная координаты центра и расстояние до следующей точки и угол. но уже все перепробовал, по моим не совсем верным подсчетам вот что получилось.

http://axov.bdsoft.ru/
выходят за приделы. видимо я не правильно считаю
// координаты центра 
$x1 = 55.873105;
$x2 = 37.661782;

// угол для первой точки 
 $g1 = 90;
// угол для второй точки 
 $g2 = 45;
// Расточения R(Радиус в метрах) = 224

// Так считаю 
//Первая точка 
$x = $R*0.000016*sin($g1);
$y = $R*0.000016*cos($g1);

$koord_1x = $x +$x1; //наверное так складывать нельзя
$Koord_1y=  $y+$x2 ;//наверное так складывать нельзя

destus 03.02.2016 11:55

Может потому что функции sin,cos ожидают получить угол в радианах, а не в градусах?

arahmanov 04.02.2016 10:29

Цитата:

Сообщение от destus (Сообщение 406158)
Может потому что функции sin,cos ожидают получить угол в радианах, а не в градусах?

Угол действительно в радианах. Спасибо.

А вот небольшие продвижения. Правда перевод координат в метры я делал через сторонний калькулятор ( не стал заморачиваться, так как пока нужно понять правильно ли вообще изложенное).
$x1 = 55.873105;
$x2 = 37.661782;
//$x11 =416261;    - перевел координаты в метры 
//$x22 = 6192761; - перевел координаты в метры

$x = $r5*0.0016*sin($g1); // смещение по широте тоже в метрах 
$y = $r5*0.0016*cos($g1); //// смещение по долготе тоже в метрах


Теперь складываем!
но как перевести все это дело обратно ? такого калькулятора я не нашел.

destus 04.02.2016 11:34

Такие сервисы мне неведомы. Кстати, $x = $r5*0.0016*sin($g1) что здесь значит константа 0.0016 и почему умножение на синисус, а не на косинус?


Часовой пояс GMT +3, время: 03:18.