Клуб API Карт

Как добавить свою кнопку в api 2.0

Пост в архиве.

Хочу добавить свою кнопку ниже кнопки Народная карта
Вот мой код <a href="#" id="print">' Версия для печати '</a> 

 

Код JS

 // Как только будет загружен API и готов DOM, выполняем инициализацию

            ymaps.ready(init);

            function init () {

                

                // Поиск координат центра Нижнего Новгорода

                ymaps.geocode(address, { results: 1 }).then(function (res) {

                    

                    // Выбираем первый результат геокодирования

                    var firstGeoObject = res.geoObjects.get(0);

                    

                    // Создаём карту.

                    // Устанавливаем центр и коэффициент масштабирования.

                    window.myMap = new ymaps.Map("map", {

                        center: firstGeoObject.geometry.getCoordinates(),

                        type: 'yandex#publicMap',

                        zoom: 16

                    });

 

                    myMap.balloon.open(

                        

                        // Координаты балуна

                        firstGeoObject.geometry.getCoordinates(), {

                            

                            /* Свойства балуна:

                                - контент балуна */

                            content: address

                        }, {

                            

                            /* Опции балуна:

                               - балун имеет копку закрытия */ 

                            closeButton: true

                        }

                    );

                    

                    // Добавление стандартного набора кнопок

                    myMap.controls.add("mapTools")

                    

                    // Добавление кнопки изменения масштаба 

                    .add("zoomControl")

            

                    // Добавление списка типов карты

                    .add("typeSelector");

                }, function (err) {

                    

                    // Если геокодирование не удалось,

                    // сообщаем об ошибке

                    alert(err.message);

                })

            }

16 комментариев

вы хотите добавить кнопку в typeControl или куда?

ivanivanovich.1988
28 января 2016, 03:55

Ниже кнопки выбора карт и что бы внешний вид кнопки был ка у нее.
А если возможно по центру и в низу, то это было бы идеально

Смотри в эту сторону 
                button = new ymaps.control.Button({
                    data : {
                        content : '',
                        title : 'версия для печати'
                    }
                });

         button.events
         .add('click', function (e) { if(button.isSelected()) {     //если кнопка нажата                
          
                }

})

ivanivanovich.1988
28 января 2016, 03:55

img/0.png это должна быть моя картинка ?

да, вставляйте туда адрес нужной вам картинки, это просто кусок моего кода...

ivanivanovich.1988
28 января 2016, 03:55

неполучается

скиньте ссылку на код, посмотрим, но у меня она точно работает...

 

можно посмотреть пример реализации кнопки геолокации

ivanivanovich.1988
28 января 2016, 03:55

тоже не получилось внедрить

что не получилось?

ivanivanovich.1988
28 января 2016, 03:55

Вставил код поста выше, никаких ошибок, и ничего не появилось. Что не так в коде?

 // Как только будет загружен API и готов DOM, выполняем инициализацию

            ymaps.ready(init);

            function init () {

                

                // Поиск координат центра Нижнего Новгорода

                ymaps.geocode(address, { results: 1 }).then(function (res) {

                    

                    // Выбираем первый результат геокодирования

                    var firstGeoObject = res.geoObjects.get(0);

                    

                    // Создаём карту.

                    // Устанавливаем центр и коэффициент масштабирования.

                    window.myMap = new ymaps.Map("map", {

                        center: firstGeoObject.geometry.getCoordinates(),

                        type: 'yandex#publicMap',

                        zoom: 16

                    });

button = new ymaps.control.Button({

                    data : {

                        content : '123456',

                        title : 'версия для печати'

                    }

                });

         button.events

         .add('click', function (e) { if(button.isSelected()) {     //если кнопка нажата                 

           }  

})                    

                    myMap.balloon.open(

                        

                        // Координаты балуна

                        firstGeoObject.geometry.getCoordinates(), {

                            

                            /* Свойства балуна:

                                - контент балуна */

                            content: address

                        }, {

                            

                            /* Опции балуна:

                               - балун имеет копку закрытия */ 

                            closeButton: true

                        }

                    );

                    

                    // Добавление стандартного набора кнопок

                    myMap.controls.add("mapTools")

                    

                    // Добавление кнопки изменения масштаба 

                    .add("zoomControl")

            

                    // Добавление списка типов карты

                    .add("typeSelector");

                }, function (err) {

                    

                    // Если геокодирование не удалось,

                    // сообщаем об ошибке

                    alert(err.message);

                })

            }

дайте ссылку куда вставили

кнопку после создания нужно добавить в map.controls

ivanivanovich.1988
28 января 2016, 03:55

спасибо. все получилось.