Клуб API КартМасштаб картыПост в архиве."Информационные решения"16 ноября 2012, 16:40Подскажите, пожалуйста, есть ли возможность установить масштаб, к примеру, 1:100000 ?Те масштабы, которые соответствуют стандартам генштаба ?
9 комментариевАвторизуйтесь, чтобы оставить комментарийSergey Konstantinov28 января 2016, 03:12В меркаторовской проекции масштаб (метров на пиксель) меняется с широтой.Можно попытаться выставить необходимый масштаб для какой-то конкретной точки."Информационные решения"28 января 2016, 03:12Спасибо за совет, а как это реализуется средствами API ?Sergey Konstantinov28 января 2016, 03:12Что конкретно вы хотите реализовать с помошью АПИ?"Информационные решения"28 января 2016, 03:12Зум карты с масштабом:1:50001:100001:250001:500001:1000001:500000 Sergey Konstantinov28 января 2016, 03:12Метрический масштаб (километров в сантиметре) зависит от dpi устройства, на котором показана карта.Можно добиться только масштаба в метрах на пиксель."Информационные решения"28 января 2016, 03:12Если Я правильно понял, сделать нужно следующее:- узнаем dpi текущего разрешения- выясняем коэффициент пикселей/на метр (КПМ)- выясняем текущий масштаб метров на пиксель (ТекМП)- получим Z = ТекМП * КПМ * риску выбранной шкалы масштаба по генштабу )- устанавливаем зумм (Z)?Sergey Konstantinov28 января 2016, 03:12типа того :) но я не очень представляю, как вы хотите выяснять dpi мониторов пользователей и, главное, зачем вам это надо."Информационные решения"28 января 2016, 03:12dpi можно выяснить скриптом, думаю несложно будет.Зачем - задачу поставили, делать масштаб согласно этому стандарту. Смысла я особого в этом не вижу, т.к. все объекты на этой карте будут нанесены схематично, но.. ))Sergey Konstantinov28 января 2016, 03:12На свет что ли сличать???В одном пикселе на широте lat (в радианах) и уровне масштабирования z содержится.m = 40000 / (Math.pow(2, z + 8) * Math.cos(lat)) километров.Или, наоборот, в одном пикселе будет содержаться m километров на уровне масштабированияz = Math.log(40000 / (m * Math.cos(lat))) / Math.log(2) - 8Для отображения дробных уровней масштабирования необходимо указать карте опцию avoidFractionalZoom: false.