Permalink
Browse files

Incorporate feedback from @ebelo

  • Loading branch information...
1 parent 2cc22c7 commit 91bbdbdddf618ef6e669ff6cd2d910e3abacbc70 @twpayne twpayne committed Mar 6, 2012
Showing with 12 additions and 2 deletions.
  1. +4 −2 design.md
  2. +8 −0 wish-list.md
View
6 design.md
@@ -31,7 +31,7 @@ The map is the master object. It contains a single renderer object, which can e
Layers are pure data providers. They provide raster, vector and eventually other types of content, but do not know how to render them. Layers can have their own projections, which can be different from the map's projection in which they are used. Individual layer objects can be shared between multiple maps. When their content changes they fire "changed" events.
-Controls can manipulate both the map view and individual layers. They should work in map projection coordinates.
+Controls can manipulate both the map view and individual layers. They should work in map projection coordinates, and support both traditional and touch inputs.
Due to differences between the renderers, only two types of coordinates are used: coordinates in the map's projection, and pixel coordinates relative to the DIV containing the map. Map objects provide functions for converting between the two, using the View object and the map projection. Layer objects can have their own projections, and all interactions with layers is through coordinates in their own local projection.
@@ -51,7 +51,7 @@ Vector layers can be rendered with SVG, VML or Canvas in the DOM renderer, but w
### Labels (2D or 3D)
-Labels are effectively (position, label text) pairs. They need to be treated specially as they should always be drawn horizontally even if the base layer is rotated.
+Labels are effectively (position, label text) pairs. They need to be treated specially so they can use pixel coordinates rather than map coordinates. This also allows labels to be rotated independently of the map.
### Terrain elevation (2.5D)
@@ -79,6 +79,8 @@ Tile queues should be per-host to avoid being blocked by a single slow host. Re
Colors need to be RGBA-tuples of floating point values, with appropriate conversion.
+The Google Earth Plugin API provides an existing, standard API for virtual globes in the browser. It would probably make sense to implement it.
+
The Closure Compiler and Library provides many advantages for development and distribution.
View
8 wish-list.md
@@ -21,12 +21,16 @@ Wish list
* Client-side re-projection
+* Modular, custom builds
+
* Graceful fall back on older browsers
* Seamless transition from ground to globe
* Dynamic building shadows
+* Google Earth Plugin API
+
* Per-layer image processing effects
* Compressing multiple layers into a single tile layer
@@ -39,12 +43,16 @@ Wish list
* Perspective projection
+* Touch interactions
+
* Orthographic projection
* Point clouds
* Vegetation
+* Indoor navigation
+
* Billboards
* Label layers

0 comments on commit 91bbdbd

Please sign in to comment.