Scribble Maps Blog
Onze grootste release tot nu toe, mobiel en API.
We zijn super enthousiast (en een beetje opgelucht) om eindelijk onze nieuwe versie van Scribble Maps uit te hebben. Er is veel om over te praten. We hebben een nieuwe basis-editor uitgerold, evenals een volledige API.
We wilden de ervaring van de nieuwe versie zo consistent maken dat mensen niet eens zouden merken dat we in feite alles vanaf de grond af aan opnieuw hebben opgebouwd. Zoiets simpels als aangepaste cursors was al een uitdaging omdat we de compatibiliteit tussen verschillende browsers wilden behouden. De nieuwe versie werkt dus helemaal terug tot IE7.
Nadat Google aankondigde dat ze de Flash-versie van hun Maps API niet langer zouden ondersteunen, besloten we een aantal kernzaken aan te pakken aangezien we toch een volledige herbouw moesten uitvoeren.
Een van de grootste verzoeken die we kregen, was de mogelijkheid om Scribble Maps in een mobiele omgeving en met name op tablets te gebruiken. Omdat we javascript hebben gebruikt, draait de applicatie op tablet-apparaten.
Het laten draaien van een kaartapplicatie is echter iets anders dan dat deze ook bruikbaar is. In de desktopversie van Scribble Maps heb je bijvoorbeeld roll-overs, tablets hebben geen roll-overs.
Tekenen in Scribble Maps werkt net als canvas, dus je kunt vooraf een stijl specificeren en meerdere lijnen tekenen die allemaal die stijl overnemen. Dit geldt niet alleen voor vormen, maar ook voor zaken als Markers. Het is dus mogelijk om dingen te doen zoals
De relatie die een gebruiker met de kaart heeft, wordt gedefinieerd via tools en door de tools te veranderen, verander je de manier waarop de gebruiker met de kaart communiceert.
Bij Scribble Maps is er daarentegen geen beperking. Zodra een kaart is opgeslagen, kan er een afbeelding van die kaart worden opgevraagd, ongeacht hoeveel gegevens erop staan. Bovendien wordt de afbeelding ongeldig gemaakt wanneer een kaart wordt opgeslagen, en de volgende keer dat deze wordt opgevraagd, wordt deze opnieuw gerenderd. Hierdoor kun je effectief afbeeldingslinks maken die worden bijgewerkt wanneer je de kaart wijzigt.
Hieronder staat een voorbeeld van zo'n afbeelding.
Links
Scribble Maps API
Scribble Maps API groep
Van Flash naar HTML5/Javascript
Hoewel veel van onze gebruikers de verandering in technologie misschien niet begrijpen, zijn de implicaties hiervan erg groot. De overstap van Flash naar HTML5/Javascript was niet bepaald eenvoudig, vooral omdat we de ervaring zo vergelijkbaar mogelijk wilden houden met wat de originele Scribble Maps zo populair maakte.We wilden de ervaring van de nieuwe versie zo consistent maken dat mensen niet eens zouden merken dat we in feite alles vanaf de grond af aan opnieuw hebben opgebouwd. Zoiets simpels als aangepaste cursors was al een uitdaging omdat we de compatibiliteit tussen verschillende browsers wilden behouden. De nieuwe versie werkt dus helemaal terug tot IE7.
Nadat Google aankondigde dat ze de Flash-versie van hun Maps API niet langer zouden ondersteunen, besloten we een aantal kernzaken aan te pakken aangezien we toch een volledige herbouw moesten uitvoeren.
- We wilden dat de webapplicatie zowel in een desktop- als in een mobiele omgeving zou werken.
- We wilden onze eigen rendering-engine bouwen, zodat we indien nodig konden overstappen naar andere API-providers.
- We wilden de servicevoorwaarden van geen enkele mapping API-provider schenden.
- We wilden dat de herbouw API-centrisch zou zijn, zodat ontwikkelaars onze tools voor het maken van kaarten in hun applicatie konden gebruiken.
Scribble Maps op mobiel
Een van de grootste verzoeken die we kregen, was de mogelijkheid om Scribble Maps in een mobiele omgeving en met name op tablets te gebruiken. Omdat we javascript hebben gebruikt, draait de applicatie op tablet-apparaten.Het laten draaien van een kaartapplicatie is echter iets anders dan dat deze ook bruikbaar is. In de desktopversie van Scribble Maps heb je bijvoorbeeld roll-overs, tablets hebben geen roll-overs.
Dit leidde ertoe dat we de gebruikerservaring hebben aangepast op basis van de vraag of je een touch-apparaat gebruikt. Dit gebeurt automatisch zonder dat er code hoeft te worden aangepast.
Scribble Maps API
Er bestaan ongeveer een half dozijn zeer populaire mapping-API's, dus we wilden ons specifiek richten op bewerking en interactiviteit, en de overige visualisatie en tile-rendering aan de andere API's overlaten. Bij het beslissen hoe we de API wilden structureren, vonden we dat JQuery een van de beste stijlen voor Javascript-programmering was. Het is dus mogelijk om overlays en interactiviteit in één regel te maken.
ScribbleMap.draw.line([[lat, lng], [lat2, lng2]], { lineColor: "#0000FF" }).click(function() { alert("I have been clicked") });
Tekenen in Scribble Maps werkt net als canvas, dus je kunt vooraf een stijl specificeren en meerdere lijnen tekenen die allemaal die stijl overnemen. Dit geldt niet alleen voor vormen, maar ook voor zaken als Markers. Het is dus mogelijk om dingen te doen zoals
De relatie die een gebruiker met de kaart heeft, wordt gedefinieerd via tools en door de tools te veranderen, verander je de manier waarop de gebruiker met de kaart communiceert.
Dynamic Image API
Een van de belangrijkste dingen waarvoor Scribble Maps wordt gebruikt, is het genereren van afbeeldingen. Dit vormde niet alleen een groot probleem voor ons, maar ook een nieuwe kans toen we afstapten van Flash. Bij andere kaart-API's is er de mogelijkheid om een "statische afbeelding" te maken. Het probleem met deze statische afbeelding-API's is dat ze bijna allemaal beperkingen hebben op de hoeveelheid gegevens die op de gerenderde afbeelding kan staan.Bij Scribble Maps is er daarentegen geen beperking. Zodra een kaart is opgeslagen, kan er een afbeelding van die kaart worden opgevraagd, ongeacht hoeveel gegevens erop staan. Bovendien wordt de afbeelding ongeldig gemaakt wanneer een kaart wordt opgeslagen, en de volgende keer dat deze wordt opgevraagd, wordt deze opnieuw gerenderd. Hierdoor kun je effectief afbeeldingslinks maken die worden bijgewerkt wanneer je de kaart wijzigt.
Nieuwe Widget
Ook hebben we met 2.0 een widget geïntroduceerd die meer UI-bedieningselementen heeft. Dit is onze eerste versie en we zullen deze de komende weken blijven verbeteren.Links
Scribble Maps API
Scribble Maps API groep