• Strona główna
  • O Projekcie Tabi.pro ( dawniej ToTu)
  • About me

Patryk Nowacki

DevBlog programistyczny

ToTu: Markery pojazdów na GoogleMaps

31 marca 2016 by Nowas

Jak już pisałem wcześniej wstępną implementację VehicleBeacon zakończyłem. Jednocześnie mam już zaimplementowaną wersję Alpha logiki odpowiedzialnej za prezentację pojazdów na mapie. Po uruchomieniu serwisów VehicleBeacon i Beaconer można wejść na stronę ToTu i obejrzeć pustą mapę:)

ToTu_EmptyMap

Dane potrzebne do prezentacji pojazdów na mapie pobierane są przez Beaconer’a z VehicleBeacon co 5 sekund. Zgodnie z przyjętą architekturą ToTu aby jakiekolwiek dane pojawiły się na mapie muszą zostać na początku wstawione do VehicleBeacon ( przy pomocy REST API lub WebSocket’ów). Do wstawiania danych do VehicleBeacon używam  PostMan’a, dzięki któremu można łatwo tworzyć requesty HTTP i wywoływać je na różnych serwerach. Po pierwszym zawołaniu VehicleBeacon z danymi jednego pojazdu zobaczyłem:

ToTu_Map_v1

Myśla na przyszłość: TDD działa :). Kolejne wstawienia pojazdów przebiegały bez problemu. Teraz czas na implementację serwisu odpowiedzialnego za prezentowanie na mapie przystanków – nowy serwis lub rozbudowa VehicleBeacon w uniwersalny Beacon obsługujący dane z regionu, który obsługuje.


P.S. Implementacja GoogleMaps w ToTu:

Aby być jak najmniej zależnym od GoogleMaps postanowiłem, że JS odpowiedzialny za prezentację będzie podzielony na  warstwy

  • Logiki
  • Prezentacji i interakcji z mapą.

Aby jak najbardziej odseparować od siebie te dwie warstwy jedyną komunikację między nimi są eventy, co pozwala na łatwą wymianę GoogleMaps na BingMaps lub Open Street Maps. Jedyne, co trzeba zapewnić przy wymianie dostawcy map jest spójna obsługę zdarzeń, jakie moduł map przyjmuje i generuje. Drugą zaletą sprowadzenia modułu map tylko do prezentacji map i publikowania zdarzeń jest to, że całą logika gdzie/czy/jaki wyświetlić marker podejmowana jest w warstwie logiki, która jest łatwo testowalna.

Posted in: Bez kategorii Tagged: Daj się poznać, GoogleMaps, tdd, testy, ToTu
← npm install and error: Can’t find Python executable
ToTu: aktualizacja podziału aplikacji na mikroserwisy →

Most common

Azure AzureDayPL Daj się poznać design pattern GoogleMaps IoT JavaScript Konferencja NodeJS RabbitMQ tdd testy ToTu

Archiwa

  • Maj 2016
  • Kwiecień 2016
  • Marzec 2016
  • Luty 2016

Copyright © 2019 Patryk Nowacki.

Omega WordPress Theme by ThemeHall