Giter VIP home page Giter VIP logo

shri-1-final's Introduction

Задание 1 — найди ошибки

❌ Ошибки

  1. В index.js. В самом начале некорректно прописан инпорт. Т.к. импортируем только одну константу, а не модуль целиком заключаем "initMap" в фигурные скобки.
  2. В консоли ошибок нет, появилось сообщение inited. В html видно, что появилось содержимое в яндекс карт, но у него нулевая высота. Смотрим процесс установки карт, там вторым шагом идет создание контейнера с размерами. Прописываем размеры для нашего контейнера в файле стилей. Карта появилась.
  3. На карте ничего нет. Проверяю корректность настроек. У нас не хватает привязки objectManager к myMap. На эране все равно ничего нет. Проверяю корректность входных данных и их запись в наш объект. Оказывается перепутаны местами широта и долгота. Исправляем и метки появляются на экране 🤗
  4. Метки группируются в кластеры, но кластеры не корректно настроены. Нам нужно, что бы по ним было видно, что внутри есть сломанные. Подойдет макет "default#pieChart". В настройках он удазан, но дальше он задается снова и перекрывается на "islands#greenClusterIcons", убираю строку с повторным присвоением макета и иконки меняются на те, что надо.
  5. Дальше нужно сделать сообщение при клике на метку. Сейчас ничего не появляется и выдается ошибка. Нужно разобраться в функции обработки клика. Сравниваю с примерами в песочнице, вроде все корректно. Возможно проблема в получении контента. Ставлю в коммент изменение контента в обработке клика, ничего не меняется. Комментирую geoObjectBalloonContentLayout в настройках менеджера объектов и ошибка исчезает. Открывается пустой балун как и ожидалось. Значит есть проблема в получении контента. Иду в функцию getDetailsContentLayout, после внимательного осмотра вызывает подозрение стрелочная фунция в bind. Внутри исользуется this, в таком случаем у нас this будет привязан к родительнской функции, возможно такого быть не должно, меняю это на обычную функцию "build(){}" и у нас появилась надпись "Идет загрузка данных", так же правлю другую функцию "clear()". Судя по условию в шаблоне балуна дело в полученных данных. Убираю коммент, который ставил раньше в обработке клика на запись данных балуна и появляется контент.
  6. Первое что бросается в глаза это то, что график не постоился. Идем в "chart.js". После прочтения документации становится ясно, что у нас некоррекнто поставлено макцимальное значение по оси Y. У нас 0, при том, что график у нас строится только из положительных значений, соответственно его видно не будет. Меняю на 10. График есть.
  7. Вопрос функциональности решен. И перед тем как идти дальше мне хочется добавить немного положительно UX нашему инженеру (т.е. мне) и сделать иконки. Я думаю, что визуально-смысловая связь - это важно) Поэтому разработав неповторимый дизайн я добавляю настройки для иконок в "mappers.js". Иконки есть, но iconCaption почему то переста срабатывать. Т.к. по условиям задачи подпись нам не нужна пока, что откладываю этот вопрос.
  8. Делаю проверку на лишний код. У нас есть файл popup.js, который мы нигде не используем. Изначально я получил контент из него, но как оказалось шаблон для балуна есть в mappers и очевидно, что нам нужен именно он, по этому popup.js удалю.
  9. Юзаю prettier и Semistandard, что бы поправить codestyle.

Пункты для самопроверки:

  1. Приложение должно успешно запускаться.✅
  2. По адресу http://localhost:9000 должна открываться карта с метками.✅
  3. Должна правильно работать вся функциональность, перечисленная в условиях задания.✅
  4. Не должно быть лишнего кода.✅(Но это не точно)
  5. Все должно быть в едином codestyle.✅

Описание:

  1. Всю область экрана занимает интерактивная карта Москвы.✅
  2. На карте отображаются места размещения базовых станций.✅
  3. Если на небольшом пространстве много объектов, они объединяются в кластер. ✅
  4. При клике на кластер карта масштабируется для просмотра объектов, входящих в него.✅
  5. Неисправные станции обозначаются на карте красным цветом, исправные — синим.✅
  6. Используя фильтр, можно отобразить на карте объекты с нужным состоянием — например, отобразить только неисправные.✅
  7. Если неисправный объект входит в кластер, то иконка кластера должна показывать, что в нем есть неисправная станция.✅
  8. При клике на метку базовой станции появляется попап с информацией о ней: серийный номер, состояние, количество активных дронов, график нагрузки.✅

Благодарю Вас за интересную задачу и уделенное мне время! Я получил хороший стимул, что бы начать учить node.js 🤝

shri-1-final's People

Contributors

ashugaev avatar dima117 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.