Клуб API Карт

Приближение при нажатии на ссылку в тексте

Удалённый пользователь
27 ноября 2015, 06:02

Задача вроде простая, но не хватает знания JS.

Есть текст, в нем ссылка формата <a id="link" href="#">посмотреть на карте</a>. Под текстом карта, самая простая, с одной лишь меткой (не кастомной), например: ([43.60408, 39.735449], 13).
Что требуется от кнопки: чтоб она вела на это же место карты только с зумом 15 (например),  ([43.60408, 39.735449], 15). Нажал, карта приблизилась, если передвинул карту и снова нажал - вернуло.


Вот что есть:

<script type="text/javascript" src="//api-maps.yandex.ru/2.0/?load=package.standard,package.geoObjects&lang=ru-RU"></script>

    <script type="text/javascript">

ymaps.ready(init);

 

function init () {

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

            center: [43.60408, 39.735449],

            zoom: 13

        }),

        // Создаем метку с помощью вспомогательного класса.

        myPlacemark = new ymaps.Placemark([43.60408, 39.735449], {

            // Свойства.

            hintContent: 'Хинт'

        }, {

            // Опции.

            // Своё изображение иконки метки.

            iconImageHref: '/images/maplocator.png',

            // Размеры метки.

            iconImageSize: [22, 30],

            // Смещение левого верхнего угла иконки относительно

            // её "ножки" (точки привязки).

            iconImageOffset: [-11, -30]

        });

    myMap.controls.add('smallZoomControl');

    // Добавляем все метки на карту.

    myMap.geoObjects

        .add(myPlacemark);

}

</script>

<a id="link" href="#">посмотреть на карте</a>
<div id="map" style="width:100%; height:300px;"></div>
 

2 комментария
Подписаться на комментарии к посту

Вы можете использовать jQuery 

 ...

myMap.geoObjects.add(myPlacemark);

jQuery('#link').on('click', function (e) {

e.preventDefault();

myMap.setCenter(myPlacemark.geometry.getCoordinates(),15);

});

}

Удалённый пользователь
27 ноября 2015, 14:19

магия, я так пробовал, но не вышло, а Ваш пример работает! 
Спасибо!