Scribble Maps Blog
← All posts

Scribble Maps Blog

La nostra release più importante di sempre, Mobile e API.

Siamo super entusiasti (e un po' sollevati) di avere finalmente rilasciato la nostra nuova versione di Scribble Maps. C'è molto di cui parlare. Abbiamo lanciato un nuovo editor di base e una API completa.

Da Flash a HTML5/Javascript

Sebbene molti dei nostri utenti possano non comprendere il cambiamento tecnologico, le implicazioni sono enormi. Passare da Flash a HTML5/Javascript non è stato particolarmente facile, soprattutto perché volevamo mantenere l'esperienza il più simile possibile a ciò che ha reso l'originale Scribble Maps così popolare.

Volevamo rendere l'esperienza della nuova versione così coerente che le persone non si accorgessero nemmeno che abbiamo essenzialmente ricostruito tutto da zero. Cose semplici come i cursori personalizzati sono state una sfida perché volevamo mantenere la compatibilità tra i vari browser. Così la nuova versione funziona fino a IE7.

Dopo che Google ha annunciato che non avrebbe più supportato la versione Flash delle sue API Maps, abbiamo deciso alcune cose fondamentali che volevamo fare, dato che dovevamo procedere a una ricostruzione completa.


  1. Volevamo che l'applicazione web funzionasse sia in ambiente desktop che mobile.
  2. Volevamo creare il nostro motore di rendering in modo che, se necessario, potessimo passare a diversi fornitori di API.
  3. Non volevamo violare i Termini di Servizio di alcun fornitore di API cartografiche.
  4. Volevamo che la ricostruzione fosse incentrata sulle API, in modo che gli sviluppatori potessero utilizzare i nostri strumenti di creazione di mappe nelle loro applicazioni.

Scribble Maps su Mobile

Una delle richieste più frequenti che abbiamo ricevuto è stata la possibilità di utilizzare Scribble Maps in un ambiente mobile e in particolare sui tablet. Poiché abbiamo utilizzato Javascript, l'applicazione funziona sui dispositivi tablet.

Tuttavia, far funzionare un'applicazione cartografica è diverso dal renderla fruibile. Nella versione desktop di Scribble Maps, ad esempio, ci sono gli effetti di rollover (passaggio del mouse), mentre i tablet non dispongono di rollover.
Questo ci ha portato a modificare l'esperienza utente a seconda che si utilizzi o meno un dispositivo touch. Ciò avviene automaticamente senza la necessità di modificare alcun tipo di codice.

Scribble Maps API

Esistono circa una mezza dozzina di API cartografiche molto popolari, quindi abbiamo voluto concentrarci specificamente sull'editing e sull'interattività, lasciando la visualizzazione e il rendering dei tasselli alle altre API. Quando abbiamo dovuto decidere come strutturare l'API, abbiamo stabilito che uno dei migliori stili per la programmazione Javascript in circolazione fosse JQuery.  Quindi è possibile creare overlay e interattività in una sola riga.

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


Disegnare in Scribble Maps funziona proprio come su un canvas, quindi è possibile specificare uno stile in anticipo e disegnare più linee che adottano tutte quello stile. Questo non si applica solo alle forme, ma anche a elementi come i Marker. Quindi è possibile fare cose del genere.

La relazione che un utente ha con la mappa è definita attraverso gli strumenti e, cambiando gli strumenti, si cambia il modo in cui l'utente si interfaccia con la mappa.


Dynamic Image API

Uno degli scopi principali per cui viene utilizzato Scribble Maps è la generazione di immagini. Questo ha rappresentato non solo un enorme problema per noi, ma anche una nuova opportunità nel momento in cui ci siamo allontanati da Flash. Con altre API cartografiche esiste la possibilità di creare una "immagine statica". Il problema con queste API di immagini statiche è che quasi tutte presentano restrizioni sulla quantità di dati che possono essere presenti sull'immagine renderizzata.

Con Scribble Maps, invece, non ci sono restrizioni. Una volta salvata una mappa, è possibile richiedere un'immagine di quella mappa indipendentemente dalla quantità di dati in essa contenuti. Inoltre, quando una mappa viene salvata, l'immagine viene invalidata e la volta successiva che viene richiesta viene renderizzata nuovamente. Questo consente di creare collegamenti a immagini che si aggiornano man mano che si modifica la mappa.
Di seguito è riportato un esempio di una di queste immagini.



Nuovo Widget

Inoltre, con la versione 2.0 abbiamo introdotto un widget che dispone di più controlli per l'interfaccia utente. Questa è la nostra prima versione e la miglioreremo nel corso delle prossime settimane.
 

Link

Scribble Maps API
Gruppo Scribble Maps API

← All posts