Scribble Maps Blog
← All posts

Scribble Maps Blog

Nasze największe jak dotąd wydanie, wersja mobilna i API.

Jesteśmy niezwykle podekscytowani (i nieco ulżeni), że w końcu możemy zaprezentować nową wersję Scribble Maps. Jest o czym rozmawiać. Wprowadziliśmy nowy podstawowy edytor, a także pełne API.

Przejście z Flash na HTML5/Javascript

Choć wielu naszych użytkowników może nie rozumieć tej zmiany technologicznej, jej konsekwencje są ogromne. Przejście z technologii Flash na HTML5/Javascript nie było szczególnie łatwe, zwłaszcza że chcieliśmy zachować wrażenia jak najbardziej zbliżone do tych, które uczyniły oryginalne Scribble Maps tak popularnymi.

Chcieliśmy, aby nowa wersja była na tyle spójna, by użytkownicy nawet nie zorientowali się, że w zasadzie zbudowaliśmy wszystko od nowa. Rzeczy tak proste jak niestandardowe kursory stanowiły wyzwanie, ponieważ chcieliśmy zachować kompatybilność między przeglądarkami. Nowa wersja działa więc nawet na tak starych przeglądarkach jak IE7.

Po tym, jak Google ogłosiło, że nie będzie już wspierać wersji flash swojego Maps API, zdecydowaliśmy o kilku kluczowych kwestiach, które chcieliśmy wdrożyć, skoro i tak musieliśmy przeprowadzić całkowitą przebudowę.


  1. Chcieliśmy, aby aplikacja internetowa działała zarówno na komputerach stacjonarnych, jak i na urządzeniach mobilnych.
  2. Chcieliśmy zbudować własny silnik renderujący, aby w razie potrzeby móc przełączyć się na innych dostawców API.
  3. Nie chcieliśmy naruszać Warunków Świadczenia Usług żadnego dostawcy API map.
  4. Chcieliśmy, aby przebudowa była zorientowana na API, tak aby programiści mogli wykorzystać nasze narzędzia do tworzenia map we własnych aplikacjach.

Scribble Maps na urządzeniach mobilnych

Jedną z najczęstszych próśb, jakie otrzymywaliśmy, była możliwość korzystania ze Scribble Maps na urządzeniach mobilnych, a w szczególności na tabletach. Ponieważ użyliśmy javascriptu, aplikacja działa na tabletach.

Jednak samo działanie aplikacji mapowej to co innego niż jej użyteczność. Na przykład w wersji Scribble Maps na komputery stacjonarne dostępne są efekty po najechaniu kursorem (roll over), których tablety nie obsługują.
Doprowadziło to do tego, że zmodyfikowaliśmy interfejs użytkownika w zależności od tego, czy korzystasz z urządzenia dotykowego. Dzieje się to automatycznie, bez konieczności modyfikowania jakiegokolwiek kodu.

Scribble Maps API

Istnieje około pół tuzina bardzo popularnych API mapowych, dlatego chcieliśmy skupić się konkretnie na edycji i interaktywności, pozostawiając wizualizację i renderowanie kafelków innym API. Decydując o strukturze naszego API, uznaliśmy, że jednym z najlepszych stylów programowania w Javascript jest JQuery. Dzięki temu możliwe jest tworzenie nakładek i interaktywności w jednej linii.

ScribbleMap.draw.line([[lat, lng], [lat2, lng2]], { lineColor: "#0000FF" }).click(function() { alert("I have been clicked") });


Rysowanie w Scribble Maps działa tak samo jak na płótnie (canvas), więc możesz z góry określić styl i narysować wiele linii, z których wszystkie przyjmą ten styl. Dotyczy to nie tylko kształtów, ale również elementów takich jak znaczniki (Markers). Możliwe jest więc robienie takich rzeczy jak

Relacja użytkownika z mapą jest definiowana przez narzędzia, a zmieniając narzędzia, zmieniasz sposób, w jaki użytkownik wchodzi w interakcję z mapą.


Dynamiczne Image API

Jedną z głównych rzeczy, do których służy Scribble Maps, jest generowanie obrazów. Stanowiło to dla nas nie tylko ogromny problem, ale także nową szansę, gdy odchodziliśmy od technologii flash. Inne API mapowe oferują możliwość tworzenia "statycznego obrazu". Problem z tymi API do obrazów statycznych polega na tym, że niemal wszystkie z nich mają ograniczenia dotyczące ilości danych, jakie mogą znaleźć się na wyrenderowanym obrazie.

W przypadku Scribble Maps nie ma natomiast żadnych ograniczeń. Po zapisaniu mapy można zażądać jej obrazu bez względu na to, jak wiele danych się na niej znajduje. Dodatkowo, po zapisaniu mapy obraz traci ważność i przy kolejnym zapytaniu jest renderowany na nowo. Pozwala to skutecznie tworzyć linki do obrazów, które aktualizują się wraz ze zmianami wprowadzanymi na mapie.
Poniżej znajduje się przykład takiego obrazu.



Nowy Widget

W wersji 2.0 wprowadziliśmy również widget, który posiada więcej elementów sterujących interfejsem użytkownika. To nasza pierwsza wersja i będziemy ją ulepszać w ciągu najbliższych kilku tygodni.
 

Linki

Scribble Maps API
Grupa Scribble Maps API

← All posts