We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

SVG Map - Tile Map Without Javascript

00:00

Formal Metadata

Title
SVG Map - Tile Map Without Javascript
Title of Series
Number of Parts
95
Author
License
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language
Production PlaceNottingham

Content Metadata

Subject Area
Genre
Abstract
In this presentation we will show how the SVG Map technology can display a tiled map without Javascript. Many popular internet tile maps such as OpenStreetMap, Google Maps, etc. use Javascript to provide tiling and layering. But this can cause high load especially on mobile platforms. SVG Map instead implements specific elements and attributes, that enable internet browsers to display map tiles directly through the browser's layout engine, with support for dynamic tiling and layering. The core mechanism of this tile map is the “SVG iframe” element. Depending on zoom level, map layer and viewport the relevant map data is downloaded using media queries. The “globalCoordinateSystem” element allows to define the geographic coordinate system and to describe transformation rules. SVG Map will make it possible to display maps in the browser with SVG files alone, and it will allow to style maps with CSS. While a first prototype has been is developed using Javascript, development has started on implementations for Webkit browser and a Firefox add-on. Because Firefox OS doesn't support add-ons, the native implementation in Firefox browser is also planned. The final aim is to make SVG Map a W3C standard, and discussion has already started in the SVG Working Group at W3C.
Programmer (hardware)Ring (mathematics)Google MapsOpen setElectric currentWorld Wide Web ConsortiumGoogle ChromeInternet ExplorerBefehlsprozessorArchitecturePlastikkarteBing MapsMobile WebGoogolMaxima and minimaSemiconductor memoryLeakMappingComputer fileCausalityCharge carrierImplementationMetropolitan area network3 (number)Cartesian coordinate systemImplementationTexture mappingTesselationComputer iconComputer fileSoftware developeroutputJust-in-Time-CompilerOcean currentMobile WebOpen setWeb 2.0Set (mathematics)Raster graphicsMultiplication signLatent heatPresentation of a groupCausalityComputer programmingMappingTessellationGoogolSemiconductor memoryCharge carrierModul <Datentyp>Open sourceForm (programming)Scripting languageInternetworkingBefehlsprozessorMagnetic-core memoryHand fanProgrammer (hardware)AreaCurvatureSpeciesView (database)Real numberCellular automatonBeat (acoustics)WhiteboardNeuroinformatikRight angleMusical ensembleStructural loadMomentumExtreme programmingShape (magazine)Point (geometry)QuicksortState of matterComputer animation
System programmingModule (mathematics)TesselationRing (mathematics)Computer programPhysical systemCoordinate systemMereologyRevision controlFrame problemGraph (mathematics)Price indexMaxima and minimaFunction (mathematics)RootFuzzy logicSineComputer-generated imageryExtension (kinesiology)Query languageData storage deviceZoom lensView (database)CuboidLevel (video gaming)HypermediaMappingClique-widthFluxMultiplication signWeb browserImplementationContent (media)Computer reservations systemMassAttribute grammarSpeciesParameter (computer programming)Data conversionSinguläres IntegralDefault (computer science)Virtual realityWeightSoftware engineeringVector spaceThumbnailCodeSubject indexingRevision controlPoint (geometry)HypermediaPosition operatorMultiplication signCASE <Informatik>AuthorizationPhysical lawStandard deviationDegree (graph theory)Functional (mathematics)Moment (mathematics)Beat (acoustics)Bridging (networking)Musical ensembleOnline helpTrailPhysical systemMedical imagingState of matterSoftware testingEndliche ModelltheorieView (database)Scheduling (computing)Error messageHyperlinkParameter (computer programming)Matrix (mathematics)Sampling (statistics)Coordinate systemGame controllerLevel (video gaming)Query languageAttribute grammarZoom lensTesselationTessellationModule (mathematics)RootWeb browserTransformation (genetics)Computer fileCuboidImplementationMereologyGradientStructural loadResultantScripting languageCache (computing)Computer animation
WeightFuzzy logicContent (media)Computer reservations systemBinary fileCoordinate systemPhysical systemFunction (mathematics)Dimensional analysisRing (mathematics)CalculationComputer-generated imageryVirtual realityMaxima and minimaLinear multistep methodPoint (geometry)Computer animation
Zoom lensGroup actionMappingMetropolitan area networkVideoconferencingMoving averageComputer-generated imageryContent-addressable memoryMultivariate NormalverteilungMaxima and minimaLarge eddy simulationMUDWorld Wide Web ConsortiumComputer iconStorage area networkExecution unitMagneto-optical driveHand fanPointer (computer programming)Mach's principleArchaeological field surveyGodWeb pageDrag (physics)Web browserGUI widgetFrame problemFunction (mathematics)Physical systemRing (mathematics)Internet ExplorerPlug-in (computing)Windows VistaRevision controlInformationSoftware developerPatch (Unix)InternetworkingCodeSummierbarkeitImplementationNetwork topologyExtension (kinesiology)3 (number)Artificial neural networkGamma functionTask (computing)Wide area networkLevel (video gaming)Content (media)Data typeScripting languageBuffer overflowDivision (mathematics)Position operatorAbsolute valueClique-widthComputer fontGreatest elementRight angleMathematical singularityHill differential equationSineAverageWeightSpecial unitary groupPolygon meshInterior (topology)Bookmark (World Wide Web)Point (geometry)Physical systemBeat (acoustics)Multiplication signMachine visionBuildingBitCommitment schemeGame theoryQuicksortBasis <Mathematik>Address spaceState of matterObservational studyFamilyEndliche ModelltheorieQueue (abstract data type)Cellular automatonMobile appSoftware developerPatch (Unix)Texture mappingWeb pageCoordinate systemWindowRevision controlWeb browserImplementationInternetworkingStructural loadCodePlanningZoom lensLatent heatGame controllerAlgorithmDirection (geometry)SoftwareMassFunctional (mathematics)InformationModule (mathematics)Computer animation
ImplementationRing (mathematics)Presentation of a groupInformationSoftware developerMappingLink (knot theory)Revision controlCodeBinary fileAverageVirtual realityWeightComputer-generated imageryComputer reservations systemIntrusion detection systemCoordinate systemPrice indexSicTesselationFunctional (mathematics)Vector spaceTexture mappingLine (geometry)Different (Kate Ryan album)Direction (geometry)MereologyImplementationWeb browserMathematicsRootResultantWritingTouch typingProcess (computing)System callMobile WebPoint (geometry)Musical ensembleGame theoryMultiplication signKey (cryptography)Right angleRoutingElectronic program guideChaos (cosmogony)Revision controlBitComputer animation
Transcript: English(auto-generated)
Okay. I start my presentation. Yeah. My presentation title is SBG Map, Tile Map without JavaScript. Yeah. Let's start my presentation. Yeah. So this topic is here. Okay. I'll continue introducing myself.
So I'm a programmer at GeoRepublic Japan. I like electronic music such as the FX3 or scale for sure in the UK artists. Yeah. Also, I'm Otaku is being
his anime fan and my icon is, this icon is here. Yeah. I use anime icon here. So I joined in some community in Japan. I'm a member of my modular community in Japan.
So my T-shirts is Firefox T-shirts. I wrote some books in Japan about Firefox. Also, I'm a member of Japan Unique Society. Also, I'm an open-source map mapper.
Yeah. GeoRepublic is some project. The famous is PG routing project. Now, open-source GeoFuse and the commercial-based geosomatic product is. We support Postgres and open-source map and others.
Yeah. So I enjoy mapping back too much. I go to set up map and to this Hackfest and the Postgres. So I stay in UK three weeks.
Yeah. So before I noticed one notice, this presentation describe some proposal to W3C. So be careful, they are not standard. Yeah. So next topic is about current tilemap.
Current tilemap on the web implemented using JavaScript such as Google Maps, and OpenLayers, and so many tilemap using JavaScript.
But JavaScript has some implementation with JavaScript has some programs. So it's in three topics.
Yeah. So JavaScript engine is, so sometimes JavaScript program must need to fight with small different between each engine. Firefox now is only monkey. So and the Firefox is better support a comma script and new aspect,
and Google Chrome and Blink use V8 engine, and WebKit who are Safari use JavaScript core and Internet Explorer use Chakra.
So goodbye Opera. Opera has gone. Yeah. So mobile devices don't have popular CPU. Sorry, I lied.
New icon is of a 64-bit devices. But too many device don't have a powerful CPU. I have these devices.
Yeah. This is Firefox OS form. Yeah. It's a low spec devices. Yeah. Other programs, iOS don't support JIT in application. When application using UI WebView,
so this can enable JIT in application. So Apple support only mobile Safari. Yeah. So loading big JS file.
So Google Maps HTML file is over 200 kilobyte HTML files and open layers. So it's a mean JS is compressed JavaScript.
It's over 300 kilobyte. Yeah. But so if use mobile JS it's small, but full set is maybe over as a big JavaScript file.
But if it is small. Yeah. So it is nothing compared to rolling map data. Yeah. So maybe many raster data. But sometimes loading big JavaScript file cause memory leaks.
Yeah. So it's a big problem. Yeah. So I think, so tile map with JavaScript can cause some troubles, but time fails or won't.
However, we can try another approach. So this is SVG map. So SVG map is a technology implementation for tile map using SVG. So a lot of specification has been developed by Satoru Takagi.
So he worked in KDDI, he's a famous carrier. So I have my iPhone, he's used this carrier's network.
And so SVG map has a long history. So basic technology of tile map goes back to 1996. So developer KDDI,
but some Japanese company try around this year, so to try implementation of tile map. And they focus on research and development of what's named.
Maybe I draw JAM maps. Yeah. And already before SVG technology come up. So he said that. So SVG branch, maybe I forget to say this.
Yeah. But yeah. Two. Sorry. This is all right. And they started
standardization activity at W3C, SVG working group in 2000. So SVG 1.1 include some result of their activity.
Graphic coordinate system is, so this spec is the best KDDI activity. So they tried to develop for SVG Tiny 1.2.
So they developed the tiling and tiling module for SVG 1.2 Tiny specification, and submit it was as W3C member submission.
That means it's not standard. Yeah. But this module uses animation tag, but it's not useful because animation is only animation, not tile. Yeah. So they now work on some new proposals.
So the tiling and rearing module was separated from one into two proposal, and it now uses iFrame tag instead of animation tag.
Yeah. So one spec is iFrame-like syntax, and the other spec is global coordinate system. Sorry. The basic concept is in large part
is similar to the SVG 1.2 Tiny gradients. So iFrame syntax supports tiling function and rearing function.
Tiling is root SVG document contains tiled SVG document with iFrame, and each tile document also contains tiles, SVG documents again, and so it's a cascading document.
Rearing is the container layers of each SVG document, displayed depending on view box and zoom level.
So zooming function uses extended CSS3 media query defined in this proposal. So it's a sample. Yeah. So this is media query.
Yeah. So this example we display is a layer-wise SVG or layer-2 SVG depending on zoom level. Yeah. When zoom down,
show this, and zoom up, it show this. When no media attribute is declared, the layer will be always shown. Yeah. So as a sample, yeah.
Sorry. It's shown that this sample and this sample here. L1 SVG contains four iFrame tiles and ordered it.
The layer-2 SVG looks like L1 SVG, but in the cascading document, it's used as always. Layer-2 contains a whole time, whole 60 SVG document.
Yeah. So layer-1 is this and layer-2 is like this, and the SVG switch with a CSS3 media query,
and it supports dynamic loading. The browser decided which documents to load with CSS3 media query and the view box. Sorry. I mistake not view box. View box. Yeah. A loaded document will be cached in the browser.
So that file is cached in browser cache. Yeah. The global coordinate system,
so SVG provides supports for geographic coordinates. However, we need to simply implementation using specific geographic coordinate system. So it's a control.
Yeah. So global coordinate system provides a function to share coordinate system by the grand common coordinate system between errors and documents. Sorry. Okay. I speed up.
Yeah. So HREF attribute spec fix global coordinate system for SVG document. It's in detail here. Transform attribute spec fix composite parameter.
Yeah. So the transform is the matrix. I use this matrix. Yeah. So let's look at a sample.
So in this case, its values is this value, its matrix is there and sorry, calculate it. Sorry, it's a Ruby script. So we get this coordinate and so this point.
So this file show this point.
Yeah. It's near the Lake Kizaki in Japan. This point is here and this point and scroll it.
Maybe same point. Yeah. No browser because such as a drug scoring and zooming is mass for you is defined it in this specification.
So rather may provide there. Yeah. So which we have the control may be provided by browser, but other to be here appear on web page.
So summary is a time up for this function provided to be and the coordinate system is provided by global coordinate system and the brother be her is not defined.
The implementation. So some implementation is available. So Internet Explorer SVG plugin. Yeah. It's called SVG map toolkit. So it's a big problem because supports
only Windows Vista and XP and yeah. So I can try this because I have only Windows 7. So you can download from SVG map app.
AJAX version is animation tag version. Yeah. It's a very tiny module. So basic functions are implemented by using JavaScript.
It support many modern browser. It's not a modern. Yeah. So you can access SVG map develop information. Yeah. Chromium version is also developed.
So it support our current proposal on the global coordinate system. But I don't know where the patch on Internet. Yeah. So Firefox add-on version. So this version is our company developed and so it's based on AJAX implementation.
So code is in here. Native version is also start implemented but currently doesn't work. Yeah. So in native version status,
I can load algorithms in SVG but no function. Yeah. So I tried them. So it's AJAX version.
Yeah. So you can try this many browser. So it's not support master map. It use this SVG.
Yeah. So there are no tag. Yeah. Next version is also. This version is loading SVG directly. It's add-on version.
Yeah. It support mouse zooming with mouse scroll. So now loading is another layer.
So I think the network is so. Yeah. Okay. So we have a plan. So I will continue the native implementation for Firefox. I will submit in each in bugzilla. Yeah. Okay. If you have some interest in this,
so please contact me. Yeah. Thank you.
Hi. Yeah. No, because SVG has support SVG.
So I don't need to try to execute the data because but yeah. Yeah. So SVG is support vector data.
Yeah. Maybe I think it's not
a problem because instead of this image, change some rect as a line or so. I think it's not a problem. It's a basic function in SVG. Yeah. Okay.
Oh, how about the direction from one part to another SVG.
This question is about rooting in SVG. Rooting. Rooting. Find something. Oh, it's a, so now I think it's another topic.
So our product, our PG rooting and just get the result and write SVG line is a beta. Yeah. So as far as I know, it's not supported.
Yeah. Only time up. Yeah. Okay. You talked about different implementations
of JavaScript in different browsers and difficulties, but the same thing will appear with different implementations of SVG engines in different browsers. Yeah. So some different behavior. Yeah. So. You move the problem from JavaScript to the SVG.
Yeah. So after this, so we can try to only write JavaScript without behavior. So tile map engines behavior.
We don't think, sorry. Thanks. It was a very interesting approach for me because I was very close to SVG and like an SVG eventually is for many, quite many. Yeah. It's still an important technology
because it's nowadays been implemented in nearly every browser. Yeah. Okay. Yeah. So I think it's worse to be touch with this standard and move it forward. Thanks again. Yeah. Thank you very much.