Клуб API Карт

Подключение векторных слоёв в формате kml

idm83
13 апреля 2016, 19:02

Добрый день. Подскажите, пожалуйста, как в API Яндекс карт 2.0 реализовать включение/отключение векторных слоёв в формате kml галочкой? Я знаю как это сделать кнопкой, но выглядит некрасиво:

Layer1Button.events

    .add('select', function () {ymaps.geoXml.load('http://***.kml').then(function (res) {
    myMap.geoObjects.add(Layer1=res.geoObjects);
})})
    .add('deselect', function () {ymaps.geoXml.load('http://***.kml').then(function (res) {
    myMap.geoObjects.remove(Layer1);
})});

myMap.controls.add(Layer1Button, { left: 5, top: 390})

Может быть у вас есть какие-то готовые элементы управления для этого? Спасибо.

5 комментариев
Подписаться на комментарии к посту
А как красиво? Есть картинка?

ЗЫ: Для выключения слоя не нужно его еще раз загружать (ymaps.geoXml.load и вот это всё)
.add('deselect', function () {ymaps.geoXml.load('http://***.kml')
Что-то похожее на это:

http://map.cian.ru/?deal_type=1&flats=yes&currency=2&type=4&room0=1&room1=1&room2=1&room3=1&room4=1&room5=1&room6=1&center=55.750385,37.599947&zoom=17&engine_version=2
idm83,
Эти чекбоксы они вне карты. Ничего не мешает так сделать. На карте их тоже можно сделать см. пример собственного контрола.
https://tech.yandex.ru/maps/jsbox/2.1/custom_control
Это всё понятно. Но вопрос был: "Может быть у вас есть какие-то ГОТОВЫЕ элементы управления для этого". Понятное дело, что с нуля всё, что угодно можно написать
idm83,
Всё что есть описано в документации.
https://tech.yandex.ru/maps/doc/jsapi/2.1/dg/concepts/controls-docpage/