23 / 23 / 11
Регистрация: 04.12.2012
Сообщений: 579
|
|
1 | |
Отцентровка карты и правильный zoom08.09.2016, 09:13. Показов 1996. Ответов 8
Метки нет Все метки)
(
Здравствуйте. Вопрос может не в той теме, но точно не знаю, куда его задавать. Имеется много разных адресов в БД. Получаем эти адреса, получаем координаты широты и долготы для каждого. Помещаем метки на карте (Карта гугл или яндекс, пока не имеет значения). Теперь необходимо правильно отцентровать карту и получить правильный зум.
Как отцентровать карту я примерно понимаю - пишу функцию на PHP, которая получает все точки с широтой и долготой. Находим среднее значение для широты и долготы - и полученная точка и будет являться центром (поправьте, если я не прав). А как определить правильный зум для карты? (Например, если всего 2 адреса прямо рядом находятся, то увеличение сильное должно быть. А если всего 2 адреса по разным краям города - то зуб должен быть далеким. Адресов может быть неизвестное количество). Как можно решить этот вопрос?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
08.09.2016, 09:13 | |
Ответы с готовыми решениями:
8
Отцентровка коардинат
Как изменить Zoom Lvl в плагине WP IMAGE ZOOM Нужно сделать правильный выбор (2 карты) |
![]() 5509 / 3975 / 1420
Регистрация: 06.01.2011
Сообщений: 10,948
|
|
08.09.2016, 09:53 | 2 |
Смотрю в документации:
https://tech.yandex.ru/maps/do... state.zoom Добавлено через 48 секунд Видимо не понял сразу. Надо же значение вычислить. Сейчас подумаю. Добавлено через 24 минуты Расстояние между объектами по широте: 1) Вычисляем самую близкую к экватору точку. 2) Вычисляем самую дальнюю от экватора точку (просто сортировкой массива). Исходя из того, что в одной минуте 1.851 километра, можно сделать вычисления, зная масштаб карты. Таким образом найдём минимальный размер карты по вертикали. Расстояние между объектами по долготе: Так же, находим ближайшую и дальнюю от нулевого меридиана точку. Вычисляем для точек, какое расстояние в одной минуте: Код
(COS долгота°) × 40000 / 360 Таким образом найдём минимальный размер карты по горизонтали. Если нигде не ошибся, то как-то так. Неужели всех этих вычислений нет на Яндекс.Карты... ![]()
1
|
23 / 23 / 11
Регистрация: 04.12.2012
Сообщений: 579
|
|
08.09.2016, 09:55 [ТС] | 3 |
Ужас)) Буду пытаться разбираться)) Спасибо Вам)
0
|
23 / 23 / 11
Регистрация: 04.12.2012
Сообщений: 579
|
|
09.09.2016, 13:34 [ТС] | 4 |
Не, не осилил я эти вычисления, к сожалению...
0
|
832 / 442 / 223
Регистрация: 20.05.2015
Сообщений: 717
|
||||||
09.09.2016, 15:02 | 5 | |||||
![]() Решение
Dmitrin, за масштабирование, отвечает
setBounds .Вот вам кусок кода, он даже рабочий, забирает данные с файла -> выводит метки. (однажды делал для себя, тут метки еще с балуном, можете удалить лишнее. Версия API 2.1)
1
|
23 / 23 / 11
Регистрация: 04.12.2012
Сообщений: 579
|
|
09.09.2016, 15:30 [ТС] | 6 |
evikza, Огромное спасибо. То, что нужно!
0
|
![]() 5509 / 3975 / 1420
Регистрация: 06.01.2011
Сообщений: 10,948
|
||||||||||||||||
10.09.2016, 08:04 | 7 | |||||||||||||||
Ошибся. Тут широта должна быть. В общем, если кому-то вдруг понадобится вычислять расстояние между параллелями и меридианами координат, копирую сюда класс:
Можно ещё масштаб указать (глобуса, например). А можно вообще другой планеты -- главное знать длину окружности по экватору. Добавлено через 9 часов 37 минут Так, сейчас расстояние между 180 и -180 градусами долготы вычисляется как вся длина параллели, что может быть приемлемо для плоских карт, но не для глобусов и не для самой планеты. Так как 180 и -180 градусов долготы -- это один и тот же меридиан. Исправлено:
1
|
23 / 23 / 11
Регистрация: 04.12.2012
Сообщений: 579
|
|
10.09.2016, 11:09 [ТС] | 8 |
Para bellum, благодарю Вам))
0
|
![]() 5509 / 3975 / 1420
Регистрация: 06.01.2011
Сообщений: 10,948
|
|
10.09.2016, 11:20 | 9 |
Ну, если пригодится -- пожалуйста.
0
|
10.09.2016, 11:20 | |
Помогаю со студенческими работами здесь
9
Отцентровка страницы Отцентровка блоков Отцентровка заголовока таблицы Отцентровка текста в DIV'e Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |