Вызов Google Maps API влияет на стили?

Уважаемые и достопочтенные! Подскажите неучу — это нормально, что строчка
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?v=3&sensor=true"></script>
влияет на то, как выглядят на странице элементы, к картам отношения не имеющие?

Натягиваю на MODX вот этот шаблон:http://html.realia.byaviators.com/index-slider.html и столкнулся с тем, что если убрать строку загрузки скрипта, например с главной страницы (на которую собственно ссылка), то перестает работать слайдер, а фильтр (синий — справа) «теряет» стили…

Как это вообще связано? Нагуглить не смог по этой теме ничего — может не так искал. В общем если не сложно — объясните пожалуйста или пошлите куда следует (желательно к источникам :).
Макс
14 августа 2014, 11:55
modx.pro
1 953
0

Комментарии: 10

Василий Наумкин
14 августа 2014, 16:25
0
Первым делом нужно посмотреть, есть ли ошибки javascript в консоли браузера.
    Макс
    14 августа 2014, 16:56
    0
    Василий, дважды выводится ошибка «Uncaught ReferenceError: google is not defined»… но с учетом, что на этой странице даже и карты нет — я и удивляюсь — зачем загружать скрипт. Скрин:
      Василий Наумкин
      14 августа 2014, 16:58
      0
      Ну а теперь смотри файл realia.js — видимо, там google используется всегда, независимо от наличия карты.
        Макс
        14 августа 2014, 17:20
        0
        Посмотрел :) В смысле попялился ;) как одно животное на один строительный объект…
        Там действительно упоминаются неоднократно карты гугла…
        Причем судя по всему — это какие-то карты, которые использовали разрабочики шаблона и которые нафиг не нужны мне.
        Василий, если не сложно — подскажи — можно убить половину кода в этом файле?
        Или лучше не трогать?
        С учетом, что я гугл-карты вывожу с помощью markergooglemaps (компонент от Евгения Борисова, кажется вы знакомы).

        вырезано цензурой
          Василий Наумкин
          14 августа 2014, 17:22
          +1
          Я то откуда знаю, что тебе нужно, а что нет?

          Делай резервную копию файла, удаляй, проверяй, если что — возвращай. Копировать портянки кода сюда не нужно, всё равно их никто разбирать не будет.
            Макс
            14 августа 2014, 17:24
            0
            Ок :) Прошу прощения за портянку!
            Ща попробую поиграюсь в удаляй-проверяй.
            Спасибо!
Алексей Карташов
14 августа 2014, 23:01
+1
Конечно нормально.
Я тут долго расписывал суть того как работает javascript и почему отваливались слайдеры. Но да пошло оно это нафиг. Времени нет. При желании сам загуглишь (чего настоятельно советую сделать).

Чтобы без особой крови избавиться от текущей ошибки, в самом конце файла /assets/templates/realia/content/HTML/assets/js/realia.js вот эти строки:
function InitMap() {
    if ($('#map').length !== 0) {
	    google.maps.event.addDomListener(window, 'load', LoadMap);
    }

    if ($('#property-map').length !== 0) {
        google.maps.event.addDomListener(window, 'load', LoadMapProperty);
    }
}
Замени вот этими:
function InitMap() {
    if (typeof window.google === 'undefined') return false;
    if ($('#map').length !== 0) {
	    google.maps.event.addDomListener(window, 'load', LoadMap);
    }

    if ($('#property-map').length !== 0) {
        google.maps.event.addDomListener(window, 'load', LoadMapProperty);
    }
}
И ошибок не будет и остальное ничего не отвалится.
    Макс
    15 августа 2014, 10:30
    0
    Спасибо!
    Уже правда удалил пол файла :) в том числе и эти строки, потому что судя по всему оно мне все не нужно — это темплэйтные карты разработчиков шаблона, а я свои вставляю с помощью markergooglemaps. Пока вроде все работает....;) и ошибки ушли, и стили-слайдеры-чекбоксы вернулись.

    Но если вдруг что отвалится — воспользуюсь советом!
    Загуглить что-то не получилось — честно пробовал, но видимо не так спрашивал… (Как известно «правильный вопрос содержит половину ответа»....)
    Ещё раз спасибо!
      Алексей Карташов
      15 августа 2014, 14:03
      0
      Не за что!
      Тут как бы и гуглить нечего, на самом деле. Потому что здесь нужны элементарные знания js. Были бы такие знания — не было бы этой ошибки :-)
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    10