Задать вопрос
@maksplotnikoff

Draggable в google maps, его выключение при определенных условиях?

В общем такая беда: есть карта, у которой draggable выставлен как true. Всё работает отлично, проблем нет. Но при посещении сайта на мобильном устройстве, происходят дикие лаги карты, да и телефон начинает лагать (не у всех же iOS). Можно-ли как нибудь сделать так, чтобы при разрешении экрана допустим 640px значение draggable выставлялось как false? В общем чтобы при разрешении >640px карта не перемещалась?
$(function() {
        function initialize() {
            var myLatlng = new google.maps.LatLng(56.293575, 43.94863);
            var mapOptions = {
                zoom: 15,
                disableDefaultUI: true,
                scrollwheel: false,
                draggable: false,
                center: myLatlng,
                zoomControl: true
            };
            var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
            var contentString = '<div id="map-content">' +
                '<div>д.10 оф.35-36 </div>'
            '</div>';
            var infowindow = new google.maps.InfoWindow({
                content: contentString
            });
            var marker = new google.maps.Marker({
                position: map.getCenter(),
                icon: {
                    path: google.maps.SymbolPath.CIRCLE,
                    scale: 10
                },
                map: map
            });
            google.maps.event.addListener(marker, 'click', function() {
                infowindow.open(map, marker);
            });
        }
            google.maps.event.addDomListener(window, 'load', initialize);
    })
  • Вопрос задан
  • 732 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Immortal_pony
@Immortal_pony Куратор тега JavaScript
При инициализации карты в качетсве значения для параметра "draggable" можно подставить результат сравнения ширины экрана с любым значением. Например, так:

var mapOptions = {
    draggable: $(window).width() > 640,
    //... Остальные опции
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы