Как убрать стандартные маркеты в яндекс карте?
Добрый день! Делаю свою карту на базе яндекс карт и появился вопрос: как удалить стандартные метки на карте? Всякие там метро, остановки, памятники итд, мне нужна вообще голая карта. Долго копался в документации не нашел, подскажите, кто в курсе.
- Вопрос задан более трёх лет назад
- 5166 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 2

Дмитрий Энтелис @DmitriyEntelis
Думаю за деньги
Никак. Эти метки отрисованы на слое стандартной карты, вы не можете их удалить.
Можно только переключаться между обычной/народной/спутником/гибридом
Как удалить все элементы управления яндекс-карт?
Подскажите как удалить все элементы управления с карты.
Спасибо.
- Вопрос задан более трёх лет назад
- 2379 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 1
Веб-разработчик
Если карта создана через ЯндексAPI, то удалить все элементы управления можно двумя способами.
Первый способ — при создании карты в разделе установки параметров есть массив «controls». В нем должен быть перечислен список необходимых объектов управления. Если оставить его пустым, то карта инициализируется без элементов управления.
// Инициализация карты var myMap = new ymaps.Map('map', < center: [50.45754, 30.453987], zoom: 10, controls: [] >);
Второй способ — если карта уже создана, то можно отключать ненужные элементы управления следующим образом:
// Инициализация карты var myMap = new ymaps.Map('map', < center: [50.45754, 30.453987], zoom: 10 >); // Удаление стандартного набора кнопок myMap.controls.remove("mapTools") .remove("typeSelector") .remove("searchControl") .remove("trafficControl") .remove("miniMap") .remove("scaleLine") .remove("routeEditor") .remove("smallZoomControl");
Узнать названия всех доступных элементов управления можно вот здесь.
Как убрать элементы управления на яндекс карте?
При помощи канструктора карт сгенерировал карту для сайта. Единственное можно как-то убрать элементы управления включая ползунок?
- Вопрос задан более трёх лет назад
- 26454 просмотра
Комментировать
Решения вопроса 0
Ответы на вопрос 2
Добавьте в конструктор:
controls: []
Здесь указываются элементы управления, которые мы хотим добавить. А т.к. коллекция пустая, то никакие элементы управления не будут добавлены.
Вот тут в документации написано про элементы управления https://tech.yandex.ru/maps/doc/jsapi/2.0/dg/conce.
Ответ написан более трёх лет назад
Нравится 8 1 комментарий
issssrt @issssrt Автор вопроса
В конструкторе нельзя добавить. Это только в коде.
А если controls: [] не помогает? Есть идеи почему может не работать? Типа карта создается не в тот момент.
Код обычный
myMap = new ymaps.Map( 'YMapsID', < center: [55, 55], zoom: 7, controls: [] >);
API версии 2.1 подключаю.
Я сначала запускаю геокодер, добавляю в коллекцию необходимые мне метки, потом создаю карту и добавляю на нее коллекцию с метками.
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Яндекс.Карты
Как происходит тарификация запросов отслеживание ГЕО, локатора и тд в Я. Карты?
- 1 подписчик
- 7 часов назад
- 23 просмотра
Как скрыть все управляющие элементы с Яндекс карты?
Часто вижу вопросы как студентов, так и иных верстальщиков о том, что дизайнер подготовил тот или иной вид карты в макете, и ему нужно следовать. Ну например, делают вообще пустую карту с одним только маркером, убирая абсолютно все элементы на ней.
Вот как раз в этой статье я хочу показать, как это сделать. Давайте разбираться!
JS-код
На самом деле все очень просто, если заглянуть в доку и проявить смекалку. Начнем с JS
ymaps.ready(init);
function init()
var map = new ymaps.Map("map",
center: [55.60804306913301,37.615973499999946], // ваши данные
zoom: 15
>);
map.controls.remove('geolocationControl'); // удаляем геолокацию
map.controls.remove('searchControl'); // удаляем поиск
map.controls.remove('trafficControl'); // удаляем контроль трафика
map.controls.remove('typeSelector'); // удаляем тип
map.controls.remove('fullscreenControl'); // удаляем кнопку перехода в полноэкранный режим
map.controls.remove('zoomControl'); // удаляем контрол зуммирования
map.controls.remove('rulerControl'); // удаляем контрол правил
map.behaviors.disable(['scrollZoom']); // отключаем скролл карты (опционально)
>
По сути, этот код удалит все, что нам нужно. Однако после него еще остается снизу строчка с тем, что это именно Яндекс карты, со ссылкой на переход в сами карты и т.д. Не нашел, как это убирать через js, поэтому решил написать простой селектор на CSS.
CSS
Тут на самом деле на помощь придет смекалка и знание некоторых особенностей работы карт. Мы можем залезть в код карты, взять класс нужного элемента и скрыть, это может сделать любой, но не все так просто. Классы карты состоят из числового префикса и самого названия класса.
Время от времени, при загрузке сайта, префикс меняется, и нетрудно догадаться, что через какое-то время ваш селектор по классу просто перестанет работать. Однако в CSS есть более умные селекторы, которые могут искать по кусочку css-класса, что нам и нужно, ведь буквенная часть класса неизменна. Пишем код:
[class*="copyrights-pane"]
display: none !important;
>
Мы просто находим классы с упоминанием сopyrights-pane и скрываем их. important явно тут необязателен, но я решил добавить на всякий случай.
По большому счету, мы могли бы и другие контролы просто скрыть с помощью стилей, но тогда все равно ресурсы будут тратиться на загрузку этих скрытых элементов. Если уж API карт позволяет их скрыть «правильно» — стоит делать правильно.
Заключение
У меня на этом все, надеюсь вам было полезно) Поскольку новый формат блога просто не поддерживает комментарии (и да, я знаю что есть сторонние сервисы, но не хочу их подключать), если вам что-то непонятно или вы знает решение лучше — пишите через форму обратной связи. Я добавляю их не ко всем постам, а там, где это действительно оправдано.