Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Неправильная отрисовка многоугольника #333

Open
vkatzyn opened this issue May 17, 2023 · 6 comments
Open

Comments

@vkatzyn
Copy link

vkatzyn commented May 17, 2023

Версия: 4.3.1-full

Если две последовательные входящие в Polygon точки имеют значения долготы с разным знаком, то линия между ними может быть проведена не по кратчайшему пути, а по наибольшему – через всю карту.
Например, точки [65.0000, -179.9999] и [65.0000, 179.9999]. Они находятся очень близко друг к другу, но линия между ними будет проведена через всю карту.
На скриншотах примеры подобного поведения.
telegram-cloud-photo-size-2-5415835009161479828-y
telegram-cloud-photo-size-2-5415835009161479829-y

@YandexMapKit
Copy link
Collaborator

Пожалуйста, пришлите нам минимальный собранный пример, демонстрирующий описанную ситуацию. Вы можете выложить его проектом на GitHub, прикрепить к переписке в архиве или загрузить на Яндекс Диск и указать ссылку.

Мы постараемся помочь.

@vkatzyn
Copy link
Author

vkatzyn commented May 18, 2023

mapkitpolygonbugexample.zip
Перед запуском нужно указать API ключ в классе TheApplication.
Ожидаемое поведение – отрисовка на карте зелёного квадрата с вершинами в точках: (65.0, 179.0); (66.0, 179.0); (66.0, -179.0); (65.0, -179.0).
Полученное поведение:

@vkatzyn
Copy link
Author

vkatzyn commented May 18, 2023

Если нужна именно сборка – предоставьте API ключ для MapKit

@YandexMapKit
Copy link
Collaborator

Спасибо за детальное описание.

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

@uncerso
Copy link

uncerso commented Jul 19, 2023

Ожидаемое поведение – отрисовка на карте зелёного квадрата с вершинами в точках: (65.0, 179.0); (66.0, 179.0); (66.0, -179.0); (65.0, -179.0).

Точки с широтой 179 и -179 довольно далеко друг от друга находятся на числовой прямой, поэтому они лежат на противоположных краях мира. Если хочется перейти через 180 долготу кратчайшим путём, так стоит это сделать явным образом, а именно указать координаты прямоугольника "(65.0, 179.0); (66.0, 179.0); (66.0, 181.0); (65.0, 181.0)".

@vkatzyn
Copy link
Author

vkatzyn commented Jul 19, 2023

Если хочется перейти через 180 долготу кратчайшим путём, так стоит это сделать явным образом, а именно указать координаты прямоугольника "(65.0, 179.0); (66.0, 179.0); (66.0, 181.0); (65.0, 181.0)".

Спасибо, это работает. Но надеюсь, что всё же будет исправление, которое позволит получить желаемый результат со значениями в пределах (-180; 180).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants