Skip to content
This repository has been archived by the owner on Apr 27, 2024. It is now read-only.

Is porting the web client to JS feasible? #41

Open
gijs opened this issue Feb 12, 2014 · 3 comments
Open

Is porting the web client to JS feasible? #41

gijs opened this issue Feb 12, 2014 · 3 comments

Comments

@gijs
Copy link

gijs commented Feb 12, 2014

Hi!

Thanks for developing VTM! The HTML OSciMap client looks and performs great.

I'd like to build upon this project but I'm not a Java developer.

Do you think it's feasible to reimplement the web viewer using for example Three.js/Protobuf.js or vanilla JS/WebGL with the tessellate lib?

I have the modified TileStache instance up and running, serving the .vtm files, but for now I'm stuck looking at the Java code :)

Thx!

@hjanetzek
Copy link
Member

Hi,

the WebGL port was really more a fun thing to see if this libgdx/gwt would actually work :) For javascript I would probably start with OpenLayers, then

  1. write a tile decoder for pbf tiles to show geometries with ol vector layers
  2. optimize the vector rendering. For this you could look through the renderer.elements package, I guess the most important optimization is to put all data for a tile in only few buffer objects to maximize batching of draw calls.
    compiling gwt in superdev mode will give you sourcemaps between the javascript/java sources directly in the browser debugger which might be helpful.
  3. theming: this should probably not be ported, as there are already mapcss etc alternatives for js
  4. drawing labels and label placement, the code in vtm is a good example how not to do it - I'm currently rewriting it from scratch..

Just curious, is your tile-server public - or what will be the purpose of your map?

@hjanetzek
Copy link
Member

In case all you need a js api to the map and layers it may be possible to use https://code.google.com/p/gwt-exporter/ to export the necessary apis - This would require a bit of java hacking though

@gijs
Copy link
Author

gijs commented Feb 17, 2014

Thanks, that sounds interesting.
I'll dive into it when I find some spare time.

hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
hjanetzek pushed a commit to hjanetzek/vtm that referenced this issue Nov 18, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants