It is now time to mark a milestone in my month-long programming marathon and announce the first release of the MapBBCode library: a way to integrate maps into almost everything, but primarily written for forums and blogs. There is a long introduction on the official site, but the problem it solves is very common and somewhat annoying, especially with biking and construction sites: they have no maps.
Mapping plugins for forums tend to focus on geolocating users, which is a dull and useless task. What if I want to draw a route and allow fellow bikers to download it as GPX before setting off? The world of embedded maps is dominated by monstrosities, like the one I’ve spotted in Shaun’s blog (40€ for a map!). We have Leaflet, we have the best map in the world, and forum/blogging engines have API — let’s get coding.
As an example of library’s versatility, MapBBCode Share website was born. The idea was simple: put strings in a database — and you’ve got a map sharing service, simple and accessible, like pastebin or imgur. And you can copy raw code to a forum or a blog. This vision started to shatter when GIS-Lab community used the site for planning a mapping party by openly publishing an edit link. And then I added import and export to a dozen of formats, personal libraries (so you won’t have to store bookmarks locally) and API. It turned out that sharing maps is only a fraction of the site’s potential.
Now you can plan a trip together with friends, place markers, embed the developing map in a forum post, and a day before the trip you can download the route and waypoints in GPX format right from a forum page. You can import CSV and immediately download it as HTML with no external dependencies (besides Leaflet). No iframes — unlike every other service, MapBBCode Share produces full-featured HTML that works offline and can be included in a website by copying code. You can upload OSRM-generated routes, quickly edit poly files, inevitably export GeoJSON, — the site “competes” not only with geojson.io and uMap, but even with JOSM. Privacy is bulletproof: you sign in with OpenID (google/yahoo accounts will do), your ID is immediately hashed before storing, so even the administrator doesn’t know who is using the website. The hash doesn’t leave the server, so no one can link maps to users.
Today I am releasing the whole package: more than 200K of code, 60K of documentation, 7 new Leaflet plugins, everything published under the most permissive license of all, WTFPL. The development goes on, but now all changes are logged, and the author is responsible for keeping backwards compatibility. Please use MapBBCode Share and write plugins for embedding the code into forum and blog engines. Let’s make the [map] tag a standard, and make sharing maps no harder than sharing images or code.