To nie był projekt „poskładany z gotowców”. Trzy rzeczy wymagały nietypowych rozwiązań:
Sterowanie obiektami w SVG. Rzut inwestycji wyeksportowany z programu graficznego nie ma żadnej struktury użytecznej dla aplikacji – to zbiór ścieżek. Powiązaliśmy każdy lokal w bazie z konkretnym obiektem na rzucie przez atrybut w kodzie SVG. Dzięki temu grafik może podmienić rzut, a powiązania zostają.
Tooltipy generowane po fakcie. Elementy interfejsu mapy powstają dynamicznie, już po załadowaniu strony, więc klasyczne podpięcie zdarzeń do nich nie działa. Zastosowaliśmy obserwator zmian w drzewie dokumentu, który wykrywa pojawienie się nowego elementu i dopiero wtedy uzupełnia go danymi lokalu.
Wydajność przy przełączaniu widoków. Przy szybkim przełączaniu między rzutami przeglądarka przeliczała układ dziesiątki razy na sekundę, co dławiło interfejs na słabszych urządzeniach. Ograniczyliśmy częstotliwość przeliczeń, zachowując płynność animacji.