VisioWeb 1.10.0



Here you will find the change log for the VisioWeb Sample Application, i.e application/mapviewer.
See CHANGELOG SDK for changes in the SDK.
VisioWeb-1.10.0, 2021/09/29
[added] new sample application based on VisioWeb Essential, UIkit and lodash.
[updated] VueJS-based sample application to use VisioWeb Essential. The vuex store modules are now handled by VWEssential.
[removed] jQuery-based sample application.

Migrating from 1.9.10 to 1.10.0:
    - if your application was based on our jQuery sample code, you can choose to:
        - keep it but it will no longer be maintained in future releases.
        - upgrade it to use VisioWeb Essential using our UIkit sample code as a guide.

VisioWeb-1.9.10, 2021/07/27
[added] advanced search component.
[added] new parameter 'location' to specify user's location as a place ID or a (latitude, longitude) couple.
[added] new sub-parameter set 'search' under parameters.ui.
[added] new sub-parameter set 'route' under parameters.ui.
[moved] 'zoom' sub-parameter from parameters.ui.modules to parameters.ui.exploration.
[removed] parameters.ui.modules
[removed] parameters.ui.placeinfo.navigation flag.

Migrating from 1.9.9 to 1.9.10:
    - becomes
    - parameters.ui.modules.zoom becomes parameters.ui.exploration.zoom
    - parameters.ui.placeinfo.navigation becomes parameters.ui.route.navigation

VisioWeb-1.9.9, 2021/03/30
[added] usages of place data (icons, categories) in sample applications.

VisioWeb-1.9.8, 2020/10/06
[added] support for a timestamp URL parameter to avoid caching issues.

VisioWeb-1.9.7, 2020/05/08
[moved] toggleLinks function from the private side to the sample code in both jQuery and VueJS example apps.
[updated] unload/destroy functions to benefit from the new load events and better separation of concerns.
[renamed] load function into init, unload into destroy for better consistency with VisioWeb's API.
[renamed] onLoadCompleted into onInitializeCompleted for better consistency with Visioweb's events.
    Beware not to mix up those two events:
    - 'loadCompleted': triggered when map data is downloaded and parsed
    - 'initializeCompleted': triggered when everything is set up, ready to render
Specific to VueJS sample:
[fixed] typo/inconsistency regarding how currentBuildingID and currentFloorID were updated. 
    (see store/modules/venue.js and components/Toolbar.vue).
[fixed] mapviewer and multiBuildingView were "observed" by VueJS and it could intefere with their proper destruction. 
    They are now accessed through vuex getters to avoid that.
[upgraded] vuetify to fix the "unable to prevent default" error caused by wheel events when a placeinfo was shown.

VisioWeb-1.9.6, 2019/12/10
[updated] sample code in doRouting and clearRouting to illustrate use of multi-floor routes.

VisioWeb-1.9.3, 2019/05/21
[replaced] currentNavigation initialization: visioweb.Navigation is now instantiated during visioweb.Route's initialization,
    if navigation data is available. The visioweb.Navigation instance is now a member of the visioweb.Route instance.
[replaced] navigationTranslator initialization: visioweb.NavigationTranslator instance is now a member of visioweb.Mapviewer,
    and it is created using the newly-added setupNavigationTranslator API.
[updated] both samples to use the newly supported HTML tags for floor transitions.
[removed] original html files (mapviewer.web*.html) to keep only one html entry point for the jQuery sample : mapviewer.html.
[added] load and unload functions to jQuery sample to demonstrate how to properly destroy mapviewer and reload it later.
[moved] bubble initialization to setupBubbleUI in the jQuery sample in order to support unloading/reloading the map.

Migrating from 1.9.1 to 1.9.3:
    - currentNavigation = new visioweb.Navigation currentRoute.navigation;
    - make sure to copy track_arrow.png into your application/media directory (jQuery sample) or public/static/img (vue sample).
    - if using the HTML tags for floor transitions, make sure to copy track_floor_change_tag.png as well.
    - see Route's constructor documentation to make sure you are properly using the new API (e.g. pathColor is now an object).
    - make sure to initialize NavigationTranslator instance using Mapviewer#setupNavigationTranslator.

VisioWeb-1.9.1, 2019/04/15
[added] example code for cluster generation. Add ?clusters to your URL to activate it with the jQuery-based sample. 
[fixed] floor UI would not be properly initialized when using orthographic camera type with mapviewer.web.html. 

VisioWeb-1.9.0, 2019/02/14
[renamed] VisioWeb's library file from vg.mapviewer.web.js into visioweb.js.
[renamed] VisioWeb's main namespace from vg.mapviewer.web (or even older vg.mapviewer) into visioweb.
[removed] MyRoute.js, MyNavigation.js from the public application code. visioweb.Route and visioweb.Navigation are instantiated instead.
[removed] we no longer create a dummy Route object to display temporary pins for start, destination or waypoints.
[removed] code related with VisioWeb Remote (not used anymore)
[new] sample application based on Vue.js. See application/mapviewer-vue/ for getting started.

Migrating from 1.8.12 to 1.9.0:
To start a new application from VisioWeb 1.9.0 with some knowledge of older versions,
make sure to check out what changed in application/mapviewer/js/mapviewer.js, and more particularly:
    - the main namespace for VisioWeb's classes is visioweb instead of the ambiguous vg.mapviewer|vg.mapviewer.web
    - we don't use a custom event ('mapviewerready') anymore
    - Route and Navigation initialization
    - NavigationTranslator is now a separate entity that can be initialized (and customized) before any route computation
To update VisioWeb 1.8.12's sample code with VisioWeb 1.9.0 library (visioweb.js):
    - copy VisioWeb-1.9.0-2019MMDD/build/visioweb.js in VisioWeb-1.8.12-20181205/build/
    - edit application/mapviewer/mapviewer.web*.html to reference visioweb.js instead of vg.mapviewer.web.js	
    - edit application/mapviewer/js/mapviewer.js and apply the following changes:
        l.35     document window.addEventListener('mapviewerready' 'load', function() {
        l.36         if (typeof(vg visioweb) === 'undefined')
        l.60             query = vg.mapviewer.common.utils visioweb.Utils.getURLParameters();
        l.128            mapviewer = new vg.mapviewer visioweb.Mapviewer();

VisioWeb-1.8.12, 2018/12/05
[fixed] iOS 12 browsers would capture gestures and induce unwanted behavior in the map.

VisioWeb-1.8.11, 2018/10/17
[fixed] doRoutingFromURLParameters: parameters could be integer instead of string, 
    function was called before setupMultiBuildingView.

VisioWeb-1.8.9, 2018/05/09
[added] in mapviewer.js: more query options to customize your VisioWeb experience from URL search parameters
    sidebar, pathcolor, initialpoi, initialanimation, activeplacecolor, animationType
[fixed] embedded labels from some bundles were not loaded.
[updated] default map sample.

VisioWeb-1.8.8, 2018/03/26
[fixed] example app now sets the floor mode pitch to appParams.exploreParams.pitch
[added] support for an orthographic camera type. You can activate it by setting the cameraType
    property when calling mapviewer.initialize().
NB: although it would still be possible to use custom pitch and heading angles, we stronly
recommend setting pitch to -90 and heading to 0 in order to prevent displaying a distorted 3D scene.
Viewpoint calculation with this camera type is not completely accurate and will be wrong when using
non-vertical pitch or non-zero heading.
The example shipped with this release will set these values by default if the developer selects an
orthographic camera type.

VisioWeb-1.8.5, 2017/12/19
[updated] application example based on jQuery. All the code contained in mapviewer.web.js and 
        mapviewer.common.js was cleaned up and re-organized in one single file named mapviewer.js.
[updated] MyNavigation.js to expect places to be read according to language before feeding them to
        the translator.

Migrating from 1.8.x to 1.8.5
    - If you choose to keep your existing application code based on mapviewer.web.js and
    mapviewer.common.js, you can still pick the improvements that were brought in the viewer
    initialization (search for mapviewer.initialize() and its callbacks).
    - (recommended) If you choose to start fresh with this new sample, compare your version with
    mapviewer.web.js and mapviewer.common.js in the original VisioWeb version that you use to start
    your work and report them in this new sample. This will make the next migrations easier for you
    if your application is mostly based on our example code.

VisioWeb-1.8.4, 2017/11/06
[removed] some uses of jQuery to reduce our dependency on this framework
[removed] some dead code in mapviewer.web.js

VisioWeb-1.8.3, 2017/06/22
[renamed] MyMultiBuildingView into MultiBuildingView
[moved] MultiBuildingView on private side of VisioWeb

Migrating from 1.8.x to 1.8.3
    - MyMultiBuildingView moved to VisioWeb's private side and was renamed MultiBuildingView. 
    If you customized its behavior, you can either keep your own custom version or 
    you can update your application code and use the public APIs that we made available.
    - mapviewer.web.js has been updated accordingly to initialize mapviewer.multiBuildingView.
    - the UI-related code of MyMultiBuildingView moved to mapviewer.web.js.
    - Important: 
        - removed call to setupInitialPosition in mapviewer.common.js and moved it in mapviewer.web.js
        inside mapviewer.initialize().done() callback
        - mapviewer.web.js expects a variable named 'viewType' to be initialized to 'multibuilding' to
        trigger MultiBuildingView initialization

VisioWeb-1.8.1, 2017/03/20
[fixed] mapviewer.web.js: when selecting a POI on a different floor in the search box, the sample application
    would change floor but not go to the selected POI.

VisioWeb-1.8.0, 2016/11/30
[renamed] VisioKiosk into VisioWeb to acknowledge its growing usage in web applications, websites in addition to
    interactive kiosks which were its original target.
[renamed] VgMultiBuildingView class into MyMultiBuildingView to be consistent with the other classes provided on
    application's side.
[renamed] mapviewer.common.multibuidling.js into MyMultiBuildingView.js to be consistent with the other files.
Migrating from 1.7.24 to 1.8.0
    - VgMultiBuildingView class has been renamed into MyMultiBuildingView. If you update your application/mapviewer/js
    folder, make sure you update your application code (based on mapviewer.web/kiosk.js or mapviewer.web2d.js)
    to call setupMultiBuilding with MyMultiBuildingView (see call to mapviewer.initialize().done()).

VisioKiosk-1.7.24, 2016/10/05
[fixed] mapviewer.common.multibuilding.js: all floors were displayed in building mode (#7894).
		building mode is still used for multibuilding-enabled maps which have no outside. The floors are stacked tightly
		upon each other (lego paradigm) so displaying them all doesn't fit.

VisioKiosk-1.7.22, 2016/05/20
[added] mapviewer.common.js: show alert if user tries to use more than 2 fingers (function checkMoreThanTwoTouches).

[update] MyNavigation.js: do not show previous button on first instruction, do not show next on last instruction.
[update] MyNavigation.js: MyNavigationTranslator.prototype.getPlacenameFromID updated to use getPOI to try to
         retrieve the name of a shop.  This makes the navigation instruction show the name of the places near
         near intersections without having an object (vg_ids) with the ID to place name correspondence.
         Assumes setPlaceName has been called. Updated the constructor to MyNavigationTranslator
		 to include the mapviewer as well as the place where the constructor is called. (#7808)
[update] mapviewer.kiosk.js with commented code for configuring jQuery .knob colors.

[fixed] mapviewer.common.multibuilding.js: multiBuildingView.goTo() can handle goTo a place.

VisioKiosk-1.7.21, 2016/04/27
[added] mapviewer.common.multibuilding.js: getCurrentFloor() to be more explicit and
        not use mapviewer.getCurrentFloor. (#7796)

[update] mapviewer.common.multibuilding.js: changeFloorOverride does not change camera position. (#7794)
[update] mapviewer.common.multibuilding.js: goTo can specify the duration for pitch, heading, camera position,
         floor individually. .changeFloorOverride can pass changeFloorAnimationDuration. (#7795)
[update] mapviewer.common.multibuilding.js: refactored mapviewer variable usage to avoid mixing global variable mapviewer
         with that passed in to constructor. (#7798)

[fixed] mapviewer.common.multibuilding.js: VgMultiBuildingView.setupMultiBuilding() handling
        when navigator language not set (e.g. sometimes Firefox). (#7809)
[fixed] mapviewer.common.js: onObjectMouseOut always dismisses status bar and resets highlight.
        onObjectMouseOver now checks if element is a POI, and if there is a Place with the same id. (#7810)
        Note: must uncomment mapviewer_parameters.onObjectMouseOver/Out in mapviewer.kiosk.js to use.

VisioKiosk-1.7.19, 2016/03/11
[added] Zoom Storyboard for Multibuilding: zooming towards a building, switches to floor mode.
        zooming out, switches automatically to global mode.
		there is no longer building mode. (#7482)

[update] mapviewer.common.multibuilding.js with mapviewer.animateValue(). (#7510)
[update] MyNavigation.js to display "using escalator|stairway|lift" when changing floors. (#7483)
[update] mapviewer.addPOI parameter options.size renamed to options.textTextureHeight. (#7696)
[update] mapviewer.kiosk.html and with mapURL variable.
[update], mapviewer.web.multibuilding.html, removed unneccessary
         js files: bootstrap.*.js, jquery-ui*, placeholder*, MyCombobox*.

[fixed] multibuilding goTo: does not take options.animationDuration into account. exploreState .noViewpoint not documented.
[fixed] multibuilding animationDuration should be 0 when using Web2D. (#7509)
[fixed] Warning .msie undefined on jquery.bbq.min.js when using more recent jQuery. (#7636)
[fixed] Camera can be unstable at = -90 and labels do not flip properly. (#7644)
[fixed] MyNavigation.js does not use the request language in the route request. (#7664)
[fixed] mapviewer.common.js setActiveShop works if one clicks on the label of a place. (#7703)

Migrating from 1.7.18 to 1.7.19
- update vg.mapviewer.kiosk.js to use the new APIs and to get better performance
- update jquery.bbq.min.js to avoid getting some warnings on modern browsers.
- update MyNavigation.js (as well as vg.mapviewer.kiosk.js) if you want to take display 'using stairways' for
  navigation instructions.
- update and change mapviewer.common.js if you want to change some of the parameters of mapviewer.setPlaceName().
- upadte mapviewer.common.multibuidling.js if you want to use the new "Zoom Storyboard".

Known Issues:
- Transparency issues between some overlapping icons. (#7345)
- On IE11 Win7, Win8.1 desktop and Firefox we get two onObjectMouseUp events when clicking on a place. (#7384)

VisioKiosk-1.7.18, 2016/01/05 (hotfix)
- No Changes.

VisioKiosk-1.7.18, 2015/12/22
[added] Multi-floor compatibility mode (for maps that don't have multi-building configured within MapEditor) to be rendered
        with a stack view similar the multifloor version used in version 1.7.16 but using the VgMultiBuildingView framework. (#7426)

[update] MyNavigation.js to display waypoint and destination name using updated attributes in version requires 1.7.18. (#7419)
[update] MyNavigation, it will no longer display the near description (for example "near ID-23") if it cannot determine the name
         (you can uncomment one line for debugging).
[update] MyRoute.js use_links and add_go_back_pois to be used via prototype variable.

Migrating from 1.7.17 to 1.7.18
- update vg.mapviewer.kiosk.js if you want to use the new APIs
- update MyNavigation.js (as well as vg.mapviewer.kiosk.js) if you want to take display the placeIDs of the intermediate stops and destination.
- update MyRoute.js if you want to chage use_links easily, and not display the go back pois.

Other changes not moved from CHANGELOG_KIOSK_SDK yet.