- fixed broken OBJ loading
- picking always returns object rather than undefined in case of miss
- compatibility with event property e.button restored for Safari
- navigator.hardwareConcurrency workaround for Safari
-
remove() function added to explicitly remove objects, markers or layers
-
code optimizations for overall performance
-
reduced loading lag by using web workers
-
less CPU load by throttling renderer if there is no activity
-
native markers enabled, source is SVG
-
code base rewritten to ES6
-
'pointerup' event now returns target objects
-
new 'load' event when viewer is ready
-
multiple objects can be highlighted at once
-
multiple objects can be hidden at once
-
build process simplified
-
sky texture dependency removed
-
no picking on pointer movement removed
-
some API methods and options changed
-
loaded buildings are growing in again
-
document events now acting on top rather than window
- Skillion roof with inner rings rendering fixed
- viewer resize fixed
- previous color adjustments reduced
- tile loading order reverted
- OSMBuildings() - options 'baseURL', 'showBackfaces', 'highlightColor', 'fogColor', 'effects[]' removed
- OSMBuildings now initializes with option 'container' instead of using method appendTo()
- methods appendTo(), show(), getTarget(), screenshot() removed
- events 'busy' and 'idle' removed
- setSize() - now takes width, height instead of { width: x, height: y }
- addGeoJSON() - option 'fadeIn' removed
- addOBJ() - option 'fadeIn' removed
- all keys/variables 'elevation' are renamed to 'altitude'
- client side simplification removed
- improved roof creation
- sphere support added
- skillion roof direction
- touch event fix
- rotation is now controlled by mouse button 2
- global min/max zoom enabled
- mouse event position
- better color validation
- low buildings were too dark
- better fallback for bad roof tagging
- destroy() was causing endless errors
- handling missing container height
- roof height calculation
- min/max zoom fixes
- extended OSM roof shape support: Skillion, Gabled, Onion + Gabled as fallback for Hipped, Half-Hipped, Gambrel
- triangulation integrated from external module
- fadeIn option for GeoJSON tiles
- minZoom/maxZoom behavior
- touchmove positioning
- protocol changes to https
- check for currently loading files removed - enables duplicates
- enabled 'loadfeature' event to act like 'modifier' option of objects (breaking compatibility)
- dynamic highlightColor restored for 'highlight(id, color)'
- all OSM id's now have a prefix for their type to make them truly unique (breaking compatibility)
- GLMap and OSMBuildings are now integrated to one package (breaking compatibility)
- added 'fadeIn' option for adding GeoJSON or OBJ
- aligned pointer event positioning
- animation timing
- FOV calculation
- Touch gesture for map tilt (2 finger vertical swipe)
- internal GL tools reorganized
- Basemap now using native events
Updates for CI automation
- render effect 'outline'
- bower.json added
- option 'modifier' when adding GeoJSON or OBJ to change all properties upon load
- map events for move, zoom, rotate, tilt, rightclick, contextmenu
- OSM Buildings event for loadfeature
- picking precision improved
- first steps in new documentation setup
- initial steps in CI
- geometry processing rewritten
- switch from color-coded depth calculation to depth textures
- don't render walls for building=roof
- code examples reorganized
- disable effects if GPU does not support them, fixes broken MSIE 11 on old machines
- pointerup event when releasing a finger
- map.getBounds() fixed, return format changed
- several destroy() methods fixed
- polyfill for Android gestures added
- pointer coordinates adjusted for maps with offset
- sun direction fixed
- several shadow Moire effects
- missing texture coordinates for OBJ
- SSAO finished
- shadow casting on buildings and basemap
- sky added
- horizon fog added
- building windows added
- options to control effects and overall quality
- zoom logic changed from scale-the-world to move-away
- OBJ files didn't work properly for picking
- CustomEvent polyfill had always been in effect
- potentially diverged animation frames fixed
- timeline based animation support added
- buildings grow in on load
- new show() / hide() methods with custom selectors and optional duration
- map.setState() for setting position, zoom, rotation etc. all at once
- configuration option 'optimize' in order to switch anistrophic filtering and SSAO
- methods for 3d projection/unprojection: transforms a point on 2d screen into 3d space and vice versa
- screenshot() method
- internal coordinate system now based on meters instead of pixel+zoom representation
- events using much less abstraction code
- JS files of GLMap and OSM Buildings are combined into one
- default data tile zoom set to 15
- whole rewrite of backend from PHP to NodeJS
- improved object picking performance
- distance based model for combining map tiles, increases performance
- data read operations optimized
- whole Color API rewritten
- better basemap tile blending on zoom level switch
- more optimization to detect visible tiles
- uniform and attribute locations on shader switch
- mouse events are now passed through, even if map is disabled
- roofHeight for unsupported shapes fixed
- populating buffers fixed for large OBJ files
- more destructor fixes
- restored idle/busy events
- artifacts at basemap tile edges fixed
- transform() method moved from GLMap to OSM Buildings
- improved calculation of visible tiles
- simplified internal grid handling
- proper destruction of objects
- added variance for default color
- resizing fixed
- baseURL option returned, makes locating assets much easier
- fixed minZoom/maxZoom options for GLMap
- added minZoom/maxZoom options for OSM Buildings, all geometry items and tile layers
- added fixedZoom option for GeoJSONTiles
First stable public release. Uses semantic versioning.