JS-решения №10. Интерактивная svg карта на чистом JS

Поделиться
HTML-код
  • Опубликовано: 21 окт 2024

Комментарии • 75

  • @nikitaspasatelev7049
    @nikitaspasatelev7049 4 года назад +14

    Надо же, подобные уроки в платных курсах только можно встретить, если ещё постараться, конечно) Или самому разбираться, что много времени уходит. Спасибо тебе MaxGragh что делишься такими подобными вещами, тем более на чистом JS!

    • @maxgraph
      @maxgraph  4 года назад +2

      Рад помочь)) спасибо за отзыв

  • @RustamBEKO
    @RustamBEKO 3 года назад +2

    Спасибо! Все четко и понятно, лайк и подписка

  • @muborizDev
    @muborizDev 4 года назад +1

    Дождались наконец то 🔥

  • @AlexYablochkinWebDesign
    @AlexYablochkinWebDesign Год назад +2

    Привет, очень полезный контент, мы для университета делаем виар тур по лабораториям,где хотим также интегрировать карту, слушай,есть ли у тебя исходных код или гайд ,или ты снимал видео на табуляцию, чтобы была возможность кликнуть на конкретную часть карты,она увеличилась ?Буду благодарен за ответ.

  • @grigoriyrodionov9525
    @grigoriyrodionov9525 7 месяцев назад

    Спасибо за решение! Делал карту на реакте, но с библиотеками как-то не задалось пока, а тут есть отличный вариант) Подскажите, а где можно найте полигоны или пути (polygon / path) для новых областей? И как можно реализовать масштабирование карты?

  • @Uncaught_in_promise
    @Uncaught_in_promise 3 года назад +1

    Огромное спасибо. Если вдруг у кого в svg файле нет полигонов - не проблема. Я использовал path. В JS коде закомментил строки с polygon, и скрипт заработал. Все прекрасно отображается. Желаю этому каналу 5 млн подписчиков.
    Вот: globalyouth.com.ua/contacts.php
    Хотелось бы еще, чтоб по клику на .left-menu li тоже выводилось описание в .info блок.

  • @VA94-54r
    @VA94-54r 3 года назад

    Спасибо! круто получилось, делал подобную карту самостоятельно в илюстрейте ух намучился с path ! спасибо за такой контент! лайк подписка

    • @maxgraph
      @maxgraph  3 года назад

      Пожалуйста)

  • @Воздалвеличие
    @Воздалвеличие 2 месяца назад

    Благодарю вас

  • @sws12
    @sws12 3 года назад +1

    Полезное видео! Спасибо!

  • @АсяХаликова-в7б
    @АсяХаликова-в7б 3 года назад

    Очень доходчиво и интересно, спасибо!

    • @maxgraph
      @maxgraph  3 года назад

      Пожалуйста =

  • @bersagiev8233
    @bersagiev8233 Год назад

    Добрый вечер, очень классные видосы, не подскажешь как ты сделал полигоны для округов?

    • @maxgraph
      @maxgraph  Год назад

      Нашёл готовую карту в свг

  • @truedivan
    @truedivan 2 года назад

    Спасибо за урок!
    Но лучше наверное один раз получить массив с сервера, сохранить его в переменную и работать с неё, чем каждый раз дергать сервер чтобы получать один и тот же массив .
    Но это так лирика)

  • @АзаматХадаев-д9я
    @АзаматХадаев-д9я 10 месяцев назад

    Конечно очень годный контент, но мне бы было больше интересно узнать, как склепать из всех 85 SVG файлов единую карту России в том виде (виде, а не цвете) как сделали это вы

  • @evgeny421
    @evgeny421 4 года назад

    Однозначно годный контент!

    • @maxgraph
      @maxgraph  4 года назад

      спасибо )

  • @miraclescalp
    @miraclescalp 4 года назад +1

    Привет Макс, где ты учил JS? И как лучше сейчас стоит его изучать, спасибо!

    • @maxgraph
      @maxgraph  4 года назад +1

      Много где учил, на разных курсах :)
      На самом деле можно просто идти по learn.javascript.ru и изучать все. Но там задачек мало, нужна практика. В идеале конечно на какой-то курс пойти, где и наставник будет.

  • @ИльназГарайшин-ч6о
    @ИльназГарайшин-ч6о 3 года назад

    Очччччччччччччччч круто!!

    • @maxgraph
      @maxgraph  3 года назад +1

      Спасибо)

  • @mariamartseniuk8862
    @mariamartseniuk8862 3 года назад

    Спасибо огромное за видео. Очень полезное! Хотела спросить: как вы делали адаптив для мобильных, делали ли возможность увеличения/уменьшения карты? Буду благодарена за ссылку на адаптивную версию карты (если есть, конечно). И, конкретно в моей текущей задаче, когда карта увеличена и ты выбираешь округ по клику на списке округов - на карте эта область должна центрироваться. Единственное, что придумала: задать через data-атрибуты каждому элементу карты параметры где он находится на карте и относительно их показывать нужную область карты при клике. Если есть какие-то идеи - буду рада)

    • @maxgraph
      @maxgraph  3 года назад +1

      Здравствуйте, адекватного адаптива тут не сделать, карта не поместится все равно.
      Конкретно данный сайт мне заказали без адаптива вовсе

    • @mariamartseniuk8862
      @mariamartseniuk8862 3 года назад

      @@maxgraph спасибо)

  • @lessons3141
    @lessons3141 2 года назад

    круто , спасибо

    • @maxgraph
      @maxgraph  2 года назад

      Пожалуйста)

  • @alexvimpel9015
    @alexvimpel9015 5 месяцев назад

    Спасибо! Где вы взяли данные для полигонов ?

    • @maxgraph
      @maxgraph  5 месяцев назад

      Дизайнер дал)

  • @alexandy1344
    @alexandy1344 4 года назад

    Упс... Новый видосик. Что я пропустил?

  • @АлександрМелянюк-ц9ю

    Спасибо!

    • @maxgraph
      @maxgraph  4 года назад +1

      пожалуйста :)

  • @maksymbelogonov5326
    @maksymbelogonov5326 4 года назад +1

    Привет, а где вообще берутся такие карты в формате свг, есть какие-то генераторы или ты сам рисовал?

    • @maxgraph
      @maxgraph  4 года назад

      Это дал дизайнер)

    • @katerinak5387
      @katerinak5387 3 года назад

      @@maxgraph спасибо, а можно ли сделать всплывающие подсказки на самих областях при наведении?

    • @maxgraph
      @maxgraph  3 года назад

      @@katerinak5387да, там же ссылки. ссылкам позишн релатив, внутрь подсказку пишете и абсолютом как надо располагаете

    • @katerinak5387
      @katerinak5387 3 года назад

      @@maxgraph еще бы поподробнее, для ламера)) подскажите, текст подсказки в html расположить в виде дива?

    • @maxgraph
      @maxgraph  3 года назад

      @@katerinak5387 да, можно так)

  • @Воздалвеличие
    @Воздалвеличие 2 месяца назад

    Это карта бесплатная? В свободном доступе? Я могу использовать ее для сайта компании?

  • @marishakarpova8278
    @marishakarpova8278 3 года назад

    Круто! Спасибо огромное! 🙏🏻Однозначно пригодится 👍🏻 Процветания каналу 😉

  • @tovjukov
    @tovjukov 3 года назад

    А, сделайте урок про создание карты офиса. Чтобы там можно было расставлять столы и указывать какие сотрудники за каким сидят. И какая оргтехника.

    • @truedivan
      @truedivan 2 года назад +1

      Это всё ТЗ? Или ещё чего на халяву накинуть?

    • @tovjukov
      @tovjukov 2 года назад

      @@truedivan Я ничего не навязывал, просто предложил идею, кончено из той области что мне интересна, конечно не факт что оно вам тоже по душе. И за этот урок спасибо, очень полезно было для образования новых извилин в наших головах.

  • @venom2200
    @venom2200 2 года назад

    Как эту карту добавить на готовый сайт вордпресс

  • @Uncaught_in_promise
    @Uncaught_in_promise 3 года назад

    Очень актуальный контент.
    Попробовал добавить js код в js-файл общих скриптов (common.js), сразу кучу ошибок в консоли, не работает.
    Сайт на jQuery, как быть?

    • @maxgraph
      @maxgraph  3 года назад

      Тут надо понимать, какие там ошибки вообще

    • @Uncaught_in_promise
      @Uncaught_in_promise 3 года назад

      @@maxgraph
      Uncaught TypeError: Cannot read property 'classList' of null
      at SVGAElement.
      Uncaught TypeError: Cannot read property 'querySelectorAll' of null
      at HTMLAnchorElement.
      Uncaught TypeError: Cannot read property 'querySelectorAll' of null
      at HTMLAnchorElement.
      Uncaught TypeError: Cannot read property 'dataset' of null
      at SVGAElement.
      это основные 4 типа,
      и таких много
      я подключил отдельным js файлом,
      в коммон.джс нет уже
      кстати через сборщик галп

    • @maxgraph
      @maxgraph  3 года назад

      ну а саму свгшку (точно такую же, со всеми классами) сделали? здесь js пишет что не может найти элементы, потому что их в html не существует.

    • @Uncaught_in_promise
      @Uncaught_in_promise 3 года назад

      @@maxgraph проблема в том что в моем svg нет полигонов, структура вобще другая (только path).

    • @maxgraph
      @maxgraph  3 года назад +1

      Ну js должен ссылаться на существующие элементы. иначе ошибки будут, это не Jquery)

  • @burabaxtv3426
    @burabaxtv3426 2 года назад

    мне такой же но как вы говорили в конце и еще городы тоже нужны. Смог и город выбрать и регион там как вы сделали. Не могули бы помогать

    • @burabaxtv3426
      @burabaxtv3426 2 года назад

      Сможете коды скинут на это видео ???

  • @sashavikh
    @sashavikh Год назад

    Привет!Спасибо за видео) У меня при клике на регионы не переключается выводящая инфа:(((

    • @maxgraph
      @maxgraph  Год назад

      Привет) сверься с кодом в гите, где-то ошибка

  • @ЛеонидМальцев-с3п
    @ЛеонидМальцев-с3п 3 года назад

    Хорошее видео. Как сделать так- выводится слово, если нажать на согласные буквы они отлетают влево,если гласные буквы,то вправо. Если все правильно,то включается какая-то анимированная картинка,например собака прыгает.

    • @maxgraph
      @maxgraph  3 года назад

      ну нужно каждую букву делать отдельным блоком с классами. если кликнули по классу согласной - улетает. чт-то такое

  • @dmitryponyatov2158
    @dmitryponyatov2158 3 года назад

    Вся портянка кода будет полностью отрабатывать на каждое событие мыши? Почему нельзя один раз по document.onload структуру страницы отработать?

    • @maxgraph
      @maxgraph  3 года назад

      есть разница?

    • @dmitryponyatov2158
      @dmitryponyatov2158 3 года назад

      @@maxgraph на мобильнике?

    • @maxgraph
      @maxgraph  3 года назад

      Я показывал что-то на мобильнике?

    • @dmitryponyatov2158
      @dmitryponyatov2158 3 года назад

      ​@@maxgraph вот поэтому вас на собеседованиях и заставляют деревья вертеть.
      Взять и чисто по привычке зарезать на 1-2 порядка выч.ресурсы, и даже не понимать где и в чём проблема 8)

    • @maxgraph
      @maxgraph  3 года назад

      ​@@dmitryponyatov2158 кого нас?)
      Вы кажется совсем не понимаете, о чем и куда пишете.

  • @Dioni-h5q
    @Dioni-h5q 2 года назад

    Нужен видос по правильности написания и оптимизации кода)

    • @maxgraph
      @maxgraph  2 года назад +1

      Оптимизация сайта уже есть на канале

  • @missd3734
    @missd3734 2 года назад

    слишком много копипасты, а так для новичков пойдёт

    • @maxgraph
      @maxgraph  2 года назад

      Копипасты из своего же кода) так что не считается 😀

  • @englishwords2784
    @englishwords2784 4 года назад +14

    У тебя карта неправильная. Крим -Украина!

  • @ХлопецьзКиєва
    @ХлопецьзКиєва 2 года назад +4

    Крым это Украина!

    • @maxgraph
      @maxgraph  2 года назад

      Мой канал не про это :)

    • @Микита-э2ш
      @Микита-э2ш 2 года назад +2

      @@maxgraph але це факт :)