Добрый день.
Подскажите, есть ли стандартный контрол у "openstreetmap" для отображения текущего мастаба, или подскажите как подобный реализовать подобное.
Имеется ввиду изображение линейки (1 см обычно) и мастаба 1:100 и т.п. Такой, какой есть на всех бумажных картах.
Спасибо.
Вывести на карту текуший мастаб карты.
-
- Интересующийся
- Сообщения: 21
- Зарегистрирован: 23 май 2012, 10:53
- Репутация: 0
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Вывести на карту текуший мастаб карты.
Scale и ScaleLine.
[ Сообщение с мобильного устройства ]
[ Сообщение с мобильного устройства ]
Spatial is now, more than ever, just another column- The Geometry Column.
-
- Интересующийся
- Сообщения: 21
- Зарегистрирован: 23 май 2012, 10:53
- Репутация: 0
Re: Вывести на карту текуший мастаб карты.
ну как бы не совсем понятно что делать с этим ScaleLine?
Можно подробнее. Спасибо.
Можно подробнее. Спасибо.
-
- Гуру
- Сообщения: 3321
- Зарегистрирован: 27 июл 2009, 19:26
- Репутация: 748
- Ваше звание: Вредитель полей
Re: Вывести на карту текуший мастаб карты.
У "openstreetmap" никакого контрола, конечно, нет. Он есть у OpenLayers, Leaflet и т.п.
Например, так: http://dev.openlayers.org/docs/files/Op ... ne-js.html
Только вот смысл этой линейки несколько иной - она вполне осмысленно может показывать только величину отрезка длиной в километр (например). А масштаб вида "1:100", "как на всех бумажных картах" на экран выводить большого смысла нет (хотя кое-кто это зачем-то делает) - если разрешение экрана в пикселях на дюйм/сантиметр неизвестно, это цифры "в попугаях".
Скажем, у моего нетбука разрешение по горизонтали 1024 пикселя а ширина экрана 195 мм (WinXP считает, что у него разрешение 96 dpi, хотя при таком разрешении ширина должна быть 270 мм), а у настольного монитора - 1680 пикселей при ширине 432 мм (хотя в настройках указано те же 96 dpi, т.е. путем вычисления должно получаться 444,5 мм ширины).
На 1 мм на настольном приходится 3,(8) пикселей, а на нетбуке - 5,25 пикселей, что различается в 1,35 раза. И browser об этом ничего не знает, соответственно, вычислить реальный точный масштаб, как отношение длины отрезка на местности и на экране - невозможно.
Например, так: http://dev.openlayers.org/docs/files/Op ... ne-js.html
Только вот смысл этой линейки несколько иной - она вполне осмысленно может показывать только величину отрезка длиной в километр (например). А масштаб вида "1:100", "как на всех бумажных картах" на экран выводить большого смысла нет (хотя кое-кто это зачем-то делает) - если разрешение экрана в пикселях на дюйм/сантиметр неизвестно, это цифры "в попугаях".
Скажем, у моего нетбука разрешение по горизонтали 1024 пикселя а ширина экрана 195 мм (WinXP считает, что у него разрешение 96 dpi, хотя при таком разрешении ширина должна быть 270 мм), а у настольного монитора - 1680 пикселей при ширине 432 мм (хотя в настройках указано те же 96 dpi, т.е. путем вычисления должно получаться 444,5 мм ширины).
На 1 мм на настольном приходится 3,(8) пикселей, а на нетбуке - 5,25 пикселей, что различается в 1,35 раза. И browser об этом ничего не знает, соответственно, вычислить реальный точный масштаб, как отношение длины отрезка на местности и на экране - невозможно.
Последний раз редактировалось ericsson 16 июл 2012, 12:44, всего редактировалось 1 раз.
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Вывести на карту текуший мастаб карты.
Если перейти на http://www.openstreetmap.org/, то в левом нижнем углу можно увидеть пример контрола ScaleLine.
Spatial is now, more than ever, just another column- The Geometry Column.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 10 гостей