Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[7.1.24.34.D8AA1651] - 2024-08-23

Added

  • Added ERouteRenderOptions constant object to define various route display options:

    RRS_Main - Route is main route in collection (i.e., it overlaps all other siblings and has different render settings).

    RRS_ShowTraffic - Display traffic status over the route. Default is true.

    RRS_ShowTurnArrows - Display the turn arrows associated with route guidance. Default is true.

    RRS_ShowWaypoints - Display the route waypoints. Default is true.

    RRS_ShowHighlights - Enable route highlights. Default is true. Public routes will render segments in color for bus, public & car routes; pedestrian parts are rendered differently.

    RRS_ShowUserImage - Display user waypoints images. If enabled, user landmark image will be displayed instead of standard pin image. Default is false.

    RRS_ShowDirectionArrows - Display route direction arrows. If enabled, the direction arrows will be rendered over the route.

  • Added class gem.d3Scene.RouteRenderSettings to manage route render settings

  • Added method getOverlayInfoImage to class gem.d3Scene.OverlayItem that retrieves the image for the overlay layer items

Changed

  • Modified method showRouteInView from class gem.d3Scene.MapView to include parameter routeRenderSettings of type RouteRenderSettings for setting route render settings

Fixed

  • Fix using default zoom level in method centerOnCoordinates from class gem.d3Scene.MapView

  • Fix in method enableOverlayItemWithExternalRendering from class gem.d3Scene.MapView

  • Fixes in class gem.d3Scene.ExternalRenderer related to rendering overlay items

  • Fixes in class gem.d3Scene.ExternalRendererMarkers related to rendering overlay items

  • Fixes in class gem.control.DrawAreaOnMapControl for binding actions controls

  • Fixes in class gem.control.QueryAddedDataControl related to the external renderer

  • Fixes in class gem.control.StudioQueryDataControl related to getting the correct service url

[7.1.24.16.0DC99D31] - 2024-04-17

Added

  • Added a new static method getEVCarModels in the gem.routesAndNavigation class in gemapi.js. This method returns a new instance of gem.routesAndNavigation.EVCarModelsList with the result of Module.getEVCarModels()

  • Added new methods in the gem.routesAndNavigation class:

    setEVProfile(evProfile): This method sets the EVProfile for the object

    getEVProfile(): This method retrieves the EVProfile from the object

    setCarProfile(carprofile): This method sets the CarProfile for the object

    getCarProfile(): This method retrieves the CarProfile from the object

  • Added new methods to Landmark:

    setName - Set the name for Landmark

    setDescription - Set Landmark description

  • Added new method to gem.routesAndNavigation.RouteInstruction:

    toEVRouteInstruction() - Get the EV Route Instruction

  • Added EEVChargingConnector constant object to define various types of EV charging connectors

  • Added EVCarModel class in gem.routesAndNavigation with properties and methods to manage EV car models

  • Added EVProfile class in gem.routesAndNavigation extending EVCarModel with additional properties and methods to manage EV profiles

  • Added EFuelType class in gem.routesAndNavigation with static methods to return different types of fuel

  • Added CarProfile class in gem.routesAndNavigation with properties and methods to manage car profiles

  • Added EVCarModelsList class in gem.routesAndNavigation extending Em_Vector with a method to get EV car models

  • Added EVRouteInstruction class in gem.routesAndNavigation with methods to manage EV route instructions

Changed

  • Modified the gem.content class in gemapi.js to include a new property ignoreLegalRestrictions. This boolean property is used to ignore country based legal restrictions related to e-bikes

Fixed

  • Fixed gem.d3Scene.Marker handling in methods:

    movePoint(pointId, coordinates) - corrected point movement logic to handle edge cases

    removePoint(nId) - fixed an issue with removing points from non-existent indices

  • Corrected gem.d3Scene.MapView method:

    registerCameraChangeStateCallback(callback) - fixed callback triggering issues during camera state changes

[7.1.24.9.506186F5] - 2024-02-26

Added

  • Added to class gem.d3Scene.MapView method:

    registerOnViewRendered(callback)

  • Added class gem.d3Scene.Marker with methods:

    addPoint(coordinates, nIndex) - add point by coordinates

    getId() - get id of the vector

    getCoordinatesPartAt(nId) - returns vector of coordinates

    size() - size of the vector

    getInfo() - get information about the vector

    movePoint(pointId, coordinates) - change position of a point

    removePoint(nId) - remove point at index location

  • Added class gem.d3Scene.MarkerCollection with methods:

    createMarker(markerId,coordinates,radius) - create a marker with the specified id

    removeMarker(nId) - remove the marker with the id

    getMarkerAt(nId) - get the marker with the id

    getType() - returns MarkerCollection type

    getName() - get the name of the Markercollection

    getArea() - get bounding box (in WGS coordinates) of the MarkerCollection

    size() - get size

    clear() - clear MarkerCollection

    getGroupHeadItem(nId) - gets the group head marker for the given marker id

  • Added to class gem.control.CustomQueryAddedDataControl option:

    updateInterval - update data source time interval in milliseconds; should be used with option populateForMapBrowse set to false (default 10000 ms)

Changed

  • Added changes to class gem.places.Search in method:

    searchNearby(coordinates, callbackfunction, resultedLandmarks,searchPreferences)

Fixed

  • Added fixes in class gem.d3Scene.MapView in methods:

    createSource(dataType, name,markerCollectionDisplaySettings)

    enableEdit(callback)

    addGeoJsonAsCustomMarkers(geojsonbuffer, name, sourceslist, externalRenderer, maxGroupingLevel = 13)

    registerOverlayItemClickedEvent(callbackfunction)

    getVectorSourceAt(nId)

  • Added fixes in class gem.core.Landmark in method:

    requestWikipediaInfo(callbackfunction, externalInfo)

  • Added fixes in class gem.d3Scene.MarkerCollectionRef in method:

    createMarker(markerId,coordinates,radius)

  • Added fixes in class gem.d3Scene.MarkerCollectionRefList in method:

    get(nId)

  • Added fixes in class gem.d3Scene.ExternalRenderer

  • Added fixes in class gem.core.AppScreen for initialization

  • Added fixes in class gem.control.CustomQueryAddedDataControl

[7.1.24.3.DE654D62] - 2024-01-19

Added

  • Added to class gem.core member:

    gem.core.EAddressField

  • Added to class gem.d3Scene.EUsableIcons members:

    gem.d3Scene.EUsableIcons.YellowBall

    gem.d3Scene.EUsableIcons.BlueBall

    gem.d3Scene.EUsableIcons.Waypoint_Start

    gem.d3Scene.EUsableIcons.Waypoint_Intermediary

    gem.d3Scene.EUsableIcons.Waypoint_Finish

  • Added to class gem.core.Landmark method:

    getAddressField(addressField)

  • Added to class gem.core.App method:

    setCustomUrl(serviceCode,customURL)

  • Added class gem.d3Scene.MarkerCollectionDisplaySettings with methods:

    setPolylineInnerColor(color)

    setPolylineOuterColor(color)

    setPolygonFillColor(color)

    setPolylineInnerSize(innerSize)

    setPolylineOuterSize(outerSize)

Changed

  • Changes in class gem.d3Scene.MapView to methods:

    centerOnCoordinates(coordinates, durationMs, callbackFunction, iXy, zoomLevel) - added optional parameter zoomLevel

    centerOnArea(coordinatesTopLeft, coordinatesBottomRight, durationMs, rectangleFloat, callbackfunction, zoomLevel) - added optional parameter zoomLevel

    createSource(dataType, name, markerCollectionDisplaySettings) - added optional parameter markerCollectionDisplaySettings

  • Changes in class gem.places.Search to method:

    searchByAddress(searchString, detailLevel, parentLandmark, callbackfunction, resultedLandmarks, maximumResults, allowFuzzyResults, searchOnlyOnBoard) - added optional parameters allowFuzzyResults, searchOnlyOnBoard

  • Changes in class gem.d3Scene.MarkerCollectionRef to method:

    createMarker(markerId,coordinates,radius) - added optional parameters coordinates and radius

  • Changes in control class gem.control.SearchControl to method

    searchOnMap(searchInputDiv, searchResultsDiv, mapTopLeft, mapBottomRight, searchPreferences)

[Unreleased] - 2023-08-02

Added

  • Added to data source control class gem.control.ListControl options:

    initOptions.itemSelection - customize list item selection interaction

    initOptions.itemMouseOver - customize list item mouse over interaction

    initOptions.itemMouseOut - customize list item mouse out interaction

    initOptions.itemMouseClick - customize list item mouse click interaction

Changed

  • Bug fixing and improvements for added data source control classes

[Unreleased] - 2023-07-31

Added

  • Added to data source control classes gem.control.GeoJsonAddedDataControl, gem.control.StudioAddedDataControl, gem.control.StudioQueryDataControl, gem.control.QueryAddedDataControl, gem.control.SQLQueryAddedData, gem.control.CustomQueryAddedDataControl options:

    dataOptions.marker.markerMouseOut - customize marker mouse out function

    dataOptions.marker.markerMouseOver - customize marker mouse over function

    dataOptions.marker.markerMouseClick - customize marker click function

    dataOptions.marker.markerItemSelected - customize marker select function

[Unreleased] - 2023-07-21

Changed

  • Added changes in control class gem.control.SearchControl for the search options customization

  • Added changes in control class gem.control.ListControl for the item selection notifier and for the list update flow

[Unreleased] - 2023-07-17

Changed

  • Added changes in control class gem.control.ListControl for the list loading animation

  • Added changes in control classes gem.control.SQLQueryAddedData and gem.control.CustomQueryAddedDataControl for updating the data source

Fixed

  • Added fix in added data base control class gem.control.AddedDataControl for markers icons data filters

[7.1.23.28.BD22B8CA] - 2023-07-10

Added

  • Added for control class gem.control.CustomQueryAddedDataControl option:

    feedDataOptions.updateInterval - time interval for updating the data source, should be used in conjunction with option populateForMapBrowse set to false; default value is 10000 milliseconds

  • Added for control class gem.control.CategoryFilterControl option:

    filterOptions.categories.filter.value_eval - property value condition used to filter

  • Added for control class gem.control.SearchControl support for searching for a map location by latitude and longitude

Changed

  • Added changes for base control class gem.control.AddedDataControl for supporting categories filter value option value_eval

  • Added changes for control class gem.control.ListControl for scroll item into view functionality

Fixed

  • Added fix for base control class gem.control.AddedDataControl for categories filter on undefined values

  • Added fix for control class gem.control.DistanceFilterControl regarding the filter initialization

[Unreleased] - 2023-06-22

Fixed

  • Fixes for class gem.control.SQLQueryAddedData when using draw area selection filter

Changed

  • Added changes for added control base class gem.control.AddedDataControl. Added support for using nested JSON properties for options:

    dataOptions.markerBubble.title

    dataOptions.markerBubble.image

  • Added changes for control class gem.control.ListControl. Added support for using nested JSON properties for options:

    initOptions.titleProperties

    initOptions.detailsProperties

[Unreleased] - 2023-06-15

Fixed

  • Fixes for class gem.control.AddedDataControl for markers icon filters

[Unreleased] - 2023-06-06

Added

  • Added control class gem.control.SQLQueryAddedData for displaying data on a map using SQL queries to foreign tables as source, with options:

    iconUrl - path/url to marker image/icon; optional, set empty string for default value

    iconFilter - filters for applying different icons to markers based on their poperties; optional, set empty string for default value

    iconFilter[].key - data source item property key

    iconFilter[].value - data source item property value

    iconFilter[].iconClass - css class to use for this filter

    dataOptions - options for displaying data source items

    dataOptions.marker - options for markers display on map

    dataOptions.marker.cssClass - specify custom marker style rules

    dataOptions.marker.highlightClass - specify selected marker custom highlight style rules

    dataOptions.marker.width - default 20px

    dataOptions.marker.height - default 20px

    dataOptions.marker.hoverWidth - default 25px

    dataOptions.marker.hoverHeight - default 25px

    dataOptions.marker.markerPos - where to place the marker relative to the item coordinate; default ‘center’

    dataOptions.marker.markerFunction - fully customize marker appearance

    dataOptions.markerBubble - options for styling the marker bubble on click/hover

    dataOptions.markerBubble.title - data source properties to use for marker bubble title text

    dataOptions.markerBubble.image - data source image url property to use for marker bubble image

    dataOptions.markerBubble.width - bubble width; default 240px

    dataOptions.markerBubble.height - bubble height; default 200px

    dataOptions.markerBubble.enableHover - disable marker bubble interaction on hover; default true

    dataOptions.markerBubble.enableClick - disable marker bubble interaction on click; default true

    dataOptions.markerBubble.markerBubbleClass - custom css class for marker bubble

    dataOptions.markerBubble.markerBubbleFunction - fully customize marker bubble

    dataOptions.markerGrouping - marker grouping options

    dataOptions.markerGrouping.maxLevel - maximum map level to apply grouping; default level 13, minimum level 0, maximum level 15

    dataOptions.markerGrouping.style - style to apply to marker groups; default gem.control.MarkersGroupStyleType.default

    dataOptions.markerGrouping.markerGroupFunction - fully customize marker groups style

    markersDataSource - data source options

    markersDataSource.populateForMapBrowse - default true

    markersDataSource.pointsClustering - default false

    markersDataSource.clusterMethod - default 'h3', other options are 'dbscan' and 'kmeans'

    markersDataSource.foreignServerName - foreign server name; a connection to the remote PostgreSQL database has to be established beforehand

    markersDataSource.sqlMarkersFeedFunction - callback for adding data in the map bounding box and/or the selected area; ex. query: SELECT * FROM foreign_table_name

  • Added control class gem.control.SQLQueryHexagonGrid for displaying hexagon aggregates on a map using SQL queries to foreign tables as source; h3-js library needs to be included before using this class; options:

    sourceOptions - options for initializing the data source

    sourceOptions.debugMode - display current map level and corresponding h3 level, display count at hexagon centroid if available; default false

    sourceOptions.foreignServerName - foreign server name

    sourceOptions.sqlHexFeedFunction - callback for specifying the sql query for the data source and the aggregates to be applied; ex. query: SELECT * FROM foreign_table_name, agg expr: COUNT(*) AS count

    sourceOptions.getHexFillStyle - callback for specifying the hexagon fill style

    sourceOptions.getHexStrokeStyle - callback for specifying the hexagon stroke style

    sourceOptions.lineWidth - hexagon outline width; default 3

    sourceOptions.lineCap - default ‘round’, other options ‘butt’, ‘square’

    sourceOptions.lineJoin - default ‘round’, other options ‘bevel’, ‘miter’

    sourceOptions.interaction - whether to display information when interacting with a hexagon; default true

    sourceOptions.hexBubbleContainer - css class for the information bubble

    sourceOptions.getHexBubbleInfo - callback for creating a custom information bubble

    sourceOptions.showMapLevel - whether to display the current map level; default true

[7.1.23.9.BF8C5E92] - 2023-02-27

Added

  • Added for class gem.core.App method:

    getWorldMapVersion

Changed

  • Changes for class gem.core.App in method:

    destroyApp

[7.1.22.49.BD22B8CA] - 2022-12-05

Added

  • Added for class gem.d3Scene.MapView methods:

    setMapViewDetailsQualityLevel

    addPath

    removePath

  • Added for class gem.routesAndNavigation.Navigation methods:

    isSimulationActive

    setSpeedMultiplier

    getSpeedMultiplier

    getCurrentSpeed

  • Added for class gem.routesAndNavigation.RoutesRequest method:

    setIgnoreRestrictionsOverTrack

  • Added for class gem.routesAndNavigation.Route method:

    exportAs

  • Added for class gem.core.Landmark method:

    setWaypointTrackData

  • Added for class gem.d3Scene.OverlayItem method:

    getImage

  • Added class gem.d3Scene.Path with methods:

    getArea

    getCoordinates

[7.1.22.20.674D8FC9] - 2022-10-19

Added

  • Added class gem.ETouchGestures with methods:

    TG_OnTouch

    TG_OnLongDown

    TG_OnDoubleTouch

    TG_OnTwoPointersTouch

    TG_OnTwoPointersDoubleTouch

    TG_OnMove

    TG_OnTouchMove

    TG_OnSwipe

    TG_OnPinchSwipe

    TG_OnPinch

    TG_OnRotate

    TG_OnShove

    TG_OnTouchPinch

    TG_OnTouchShove

  • Added for class gem.d3Scene.MapView methods:

    enableTouchGestures

    addLandmarkStore

    removeLandmarkStore

  • Added for class gem.core.Landmark method:

    setImageByString

  • Added class gem.d3Scene.OverlayItemList with method:

    get - get store item at position in list

  • Added for class gem.core.LandmarkStore methods:

    startFastUpdateMode

    stopFastUpdateMode

Changed

  • Changes for class gem.d3Scene.MapView to method:

    registerOverlayItemClickedEvent

  • Changes for class gem.control.NavigationControl in method:

    navInstructionSound

  • Changes for class gem.control.ContentStoreControl

[7.1.22.20.AAC12308] - 2022-05-17

Added

  • Added for class gem.core.Landmark methods:

    getLandmarkStoreId

    getLandmarkStoreType

  • Added for class gem.content.ContentStoreItem methods:

    isCompleted - Check if item is downloaded

    isImagePreviewAvailable - Check if image preview is available

    getImagePreview - Get Image Preview

    getCountryCodes - Get Country Codes list

  • Added for class gem.routesAndNavigation.RouteTrafficEvent method:

    getReferencePoint - Get the traffic event reference point

  • Added class gem.core.LandmarkStore with methods:

    getName

    addLandmark

    getLandmarks

    getLandmarksInArea

    removeLandmark

    removeAllLandmarks

Changed

  • Changes for class gem.core.App regarding persistent storage and route Urls

[7.1.22.11.3C8FB447] - 2022-03-16

Added

  • Added gem.routesAndNavigation.EEBikeType with values

    EBP_None - electric bike profile none

    EBP_Pedelec - electric bike profile pedelec

    EBP_PowerOnDemand - electric bike profile power-on-demand

  • Added to class gem.routesAndNavigation.RoutesRequest method

    setBikeProfileWithElectricType

[Unreleased] - 2022-03-10

Fixed

  • Fixes for class gem.control.RouteControl for route ranges

[Unreleased] - 2022-03-09

Added

  • Added for class gem.routesAndNavigation.ERouteType option

    ERT_Economic - economical route type

  • Added for class gem.routesAndNavigation.RoutesRequest method

    setRouteRanges - set route ranges list; a non empty range list will generate an isocost range route result

  • Added for class gem.routesAndNavigation.RouteSegment method

    getTimeDistance

  • Added for class gem.control.RouteControl functionality for route ranges and bike profile with options

    initOptions.preferences.routeRanges

    initOptions.preferences.routeRanges.rangelist

    initOptions.preferences.routeRanges.quality

    initOptions.preferences.bikeProfile

  • Added for class gem.d3Scene.MapView for method centerOnRouteInstruction optional parameter zoomLevel

  • Added for class gem.d3Scene.MarkerRef for method addPoint parameter nIndex

  • Added for class gem.places.Search method

    cancelSearch

Fixed

  • Fixes for class gem.control.NavigationControl for text to speech functionality

[Unreleased] - 2022-03-08

Fixed

  • Fixes for control class gem.control.SearchControl when using option searchOptions.searchResults.initialPlaceSearch

[7.1.22.05.7D4F76C1] - 2022-02-17

Changed

  • Code refactor for control classes and default style rule changes

[Unreleased] - 2022-01-14

Added

  • Added for class gem.d3Scene.MapView methods:

    setCamera

    centerOnRoutePortion

    getVisibleRouteInterval

    getPathsCollection

  • Added for class gem.content.Manager methods:

    getIconFromId

    getImageAspectRatio

  • Added for class gem.routesAndNavigation.Route methods:

    toPTRoute

    getCoordinateOnRoute

    getPath

  • Added for class gem.routesAndNavigation.RouteInstruction method:

    toPTRouteInstruction

  • Added for class gem.core.Landmark methods:

    setImage

    setCoordinates

  • Added for class gem.core.App methods:

    checkLocationAccess

    requestLocationAccess

    stopLocationAccess

    getDefaultScene

    createCamera

Fixed

  • Fixes for class gem.d3Scene.MapView for method registerHoverLandmarkCallback

  • Fixes for class gem.control.NavigationControl for method navInstructionSound

[Unreleased] - 2021-12-20

Fixed

  • Fixes for class gem.control.ListControl, fix handle for image loading errors

  • Fixes for class gem.control.CategoryFilterControl, fix for starting categories collapsed

[Unreleased] - 2021-12-15

Fixed

  • Fixes for class gem.d3Scene.ExternalRenderer for marker icon filters and for marker data labels

[Unreleased] - 2021-12-13

Added

  • Added for class gem.control.CategoryFilterControl option:

    filterOptions.startCollapsed - show filter categories collapsed at start-up (default value is true)

[Unreleased] - 2021-12-10

Changed

  • Changes for gem.control.DrawAreaOnMapControl, zoom to draw area after drawing is finished

[Unreleased] - 2021-12-09

Fixed

  • Fixes for map loading animation in method gem.core.App.createLoadingCircle

  • Fixes for gem.control.ListControl list loading animation

[Unreleased] - 2021-12-08

Added

  • Added for classes gem.control.AddedDataControl, gem.control.StudioAddedDataControl, gem.control.GeoJsonAddedDataControl, gem.control.QueryAddedDataControl, gem.control.CustomQueryAddedDataControl, gem.control.StudioQueryDataControl options:

    dataOptions.markerBubble.enableHover - enable/disable marker bubble interaction on hover (default value is true)

    dataOptions.markerBubble.enableClick - enable/disable marker bubble interaction on click (default value is true)

[Unreleased] - 2021-12-06

Added

  • Added for class gem.control.CategoryFilterControl options:

    filterOptions.collapsible - create a collapsible filter (default value is true)

    filterOptions.cssClasses.filterHeader - specify custom style rules for filter header

    filterOptions.cssClasses.collapsible - specify custom style rules for filter collapsible

[Unreleased] - 2021-12-03

Fixed

  • Fixes for narrow screens in gem.core.App.initApp

[Unreleased] - 2021-12-02

Added

  • Added for class gem.control.ListControl options:

    initOptions.cssClasses.divItemImage - options for customizing style rules for list item images

    initOptions.cssClasses.divItemImage.className

    initOptions.cssClasses.divItemImage.type - default value is div

    initOptions.cssClasses.divItemContent - options for customizing style rules for list item content

    initOptions.cssClasses.divItemContent.className

    initOptions.cssClasses.divItemContent.type - default value is div

Changed

  • Changes for gem.control.ListControl for default list item style

[Unreleased] - 2021-11-29

Fixed

  • Fixes for gem.control.CategoryFilterControl, make filters labels clickable

  • Fixes for gem.control.DrawAreaOnMapControl for draw button

[Unreleased] - 2021-11-26

Fixed

  • Fixes for gem.control.DrawAreaOnMapControl

[7.1.21.50.D7BCA8D6] - 2021-11-23

Added

  • Added control for drawing an area on the map canvas gem.control.DrawAreaOnMapControl with options:

    drawOptions - draw area control options

    drawOptions.button - start/stop drawing button options

    drawOptions.button.parentContainer - the parent element id where to add the draw button element

    drawOptions.button.activateText - button text to display for starting a draw area operation (default value Draw area on map)

    drawOptions.button.deactivateText - button text to display for stopping a draw area operation (default value Stop drawing)

    drawOptions.button.cssClass- set custom style rules for the start/stop draw button

    drawOptions.dialogPopup - dialog popup for invalid area options

    drawOptions.dialogPopup.cssClass - set custom style rules for the dialog

    drawOptions.dialogPopup.textInfo - text to display in the dialog (default value Please draw an area)

    drawOptions.dialogPopup.cssDismissButton - set custom style rules for the dismiss dialog button

    drawOptions.dialogPopup.dismissText - text to display in the dismiss dialog button (default value Ok)

    drawOptions.drawStyle - specify custom drawing options for the area

    drawOptions.drawStyle.lineWidth - set custom line width in px (default value 3)

    drawOptions.drawStyle.lineCap - default value is round, other options are butt or square

    drawOptions.drawStyle.lineJoin - default value is round, other options are bevel or miter

    drawOptions.drawStyle.stroke - set custom stroke style ( default value is rgba(55, 71, 79, 0.9) )

    drawOptions.drawStyle.fill - set custom fill style ( default value is rgba(129, 156, 169, 0.4) )

    drawOptions.areaData - options for data source inside the area

    drawOptions.areaData.maxCoords - specify maximum number of coordinates to collect from the drawing ( default value is 900 )

    drawOptions.areaData.markerGroupMaxLevel - specify markers maximum grouping level (default value is 13)

  • Added to class gem.control.AddedDataControl method notifyAreaSelection

  • Added to class gem.control.CustomQueryAddedDataControl options:

    feedDataOptions.markersFeedFunction - callback for adding data during map browse

    feedDataOptions.markersAreaSelectionFunction - callback for adding data in the selected area

Fixed

  • Fixes for map copyright element gem.core.App.createElementCopyright, make not selectable

[7.1.21.43.0A164E49] - 2021-10-30

Added

  • Added category filter control gem.control.CategoryFilterControl with options:

    filterOptions.parentContainer - HTML parent element id

    filterOptions.name - filter name

    filterOptions.title - specify text to use as filter title

    filterOptions.categories - specify categories to apply filter

    filterOptions.categories.label - category display text

    filterOptions.categories.filter - data property to filter by

    filterOptions.categories.filter.key - data property key to filter by

    filterOptions.categories.filter.value - data property value to filter by

    filterOptions.style - default style ‘radio’

    filterOptions.cssClasses - specify custom style rules

  • Added distance filter control gem.control.DistanceFilterControl with options:

    filterOptions.parentContainer - HTML parent element id

    filterOptions.name - filter name

    filterOptions.title - specify text to use as filter title

    filterOptions.eUnit - default km

    filterOptions.thresholds - distance thresholds array, default [10, 25, 50, 100, 200]

    filterOptions.style - default style ‘dropdown’

    filterOptions.cssClasses - specify custom style rules

  • Added data source control gem.control.StudioQueryDataControl with options:

    dataOptions.marker - options for markers display on map

    dataOptions.marker.cssClass - specify custom marker style rules

    dataOptions.marker.highlightClass - specify selected marker custom highlight style rules

    dataOptions.marker.width - default 20px

    dataOptions.marker.height - default 20px

    dataOptions.marker.hoverWidth - default 25px

    dataOptions.marker.hoverHeight - default 25px

    dataOptions.marker.markerFunction - fully customize marker appearance

    dataOptions.markerBubble - options for styling the marker bubble on click/hover

    dataOptions.markerBubble.title - data source properties to use for marker bubble title text

    dataOptions.markerBubble.image - data source image url property to use for marker bubble image

    dataOptions.markerBubble.width - bubble width in px, default 240px

    dataOptions.markerBubble.height - bubble height in px, default 200px

    dataOptions.markerBubble.markerBubbleClass - custom css class for marker bubble

    dataOptions.markerBubble.markerBubbleFunction - fully customize marker bubble

    dataOptions.markerGrouping - marker grouping options

    dataOptions.markerGrouping.maxLevel- maximum map level to apply grouping ( max allowed 15 ), default level 13

    dataOptions.markerGrouping.style - style to apply to marker groups

    dataOptions.markerGrouping.markerGroupFunction - fully customize marker groups style

[Unreleased] - 2021-10-04

Added

  • Added to data source controls gem.control.GeoJsonAddedDataControl, gem.control.StudioAddedDataControl, gem.control.QueryAddedDataControl, gem.control.CustomQueryAddedDataControl options:

    dataOptions.marker.width - default 20px

    dataOptions.marker.height - default 20px

    dataOptions.marker.hoverWidth - default 25px

    dataOptions.marker.hoverHeight - default 25px

    dataOptions.marker.markerFunction - fully customize marker appearance

  • Added to gem.d3Scene.ExternalRenderer options:

    options.markerFunction - fully customize marker, can also use properties from data

    options.markerWidth - default 20px

    options.markerHeight - default 20px

    options.markerHoverWidth - default 25px

    options.markerHoverHeight - default 25px

    options.markerGroupStyle - default, circle and custom

    options.markerGroupFunction - fully customize marker groups, can also use group size

[7.1.21.38.CDA59AEC] - 2021-09-27

Added

  • Added to data source controls gem.control.GeoJsonAddedDataControl, gem.control.StudioAddedDataControl, gem.control.QueryAddedDataControl, gem.control.CustomQueryAddedDataControl options:

    dataOptions.markerGrouping.style - style to apply to marker groups

    dataOptions.markerGrouping.markerGroupFunction - fully customize marker groups style

[Unreleased] - 2021-09-22

Added

Added classes releated to public transport segments info:

  • Added gem.routesAndNavigation.PTRouteSegment

[Unreleased] - 2021-09-13

Added

  • Added to gem.control.ListControl option:

    itemsToLoadAtATime - number of list items to load at a time when scrolling

  • Added gem.control.CustomQueryAddedDataControl, control for displaying data on a map using server database requests

  • Added to gem.control.GeoJsonAddedDataControl, gem.control.StudioAddedDataControl, gem.control.QueryAddedDataControl, gem.control.CustomQueryAddedDataControl options:

    marker.cssClass - specify marker custom style rules

    marker.highlightClass - specify selected marker custom highlight style rules

[Unreleased] - 2021-08-25

Added

  • Added to gem.control.SearchControl options:

    flyToResultAltitude - set fly to result altitude in meters

    cssClasses - specify custom style rules classes

    placeholderText - specify custom search box placeholder text

  • Added to gem.control.ListControl option:

    flyToItemAltitude - set fly to marker altitude in meters

[7.1.21.30.F7B1DCD6] - 2021-07-27

Added

  • Added to gem.control.ListControl option:

    displayCount - display information about number of items (default true)

[7.1.21.29.638B89D9] - 2021-07-21

Added

  • Added to gem.control.GeoJsonAddedDataControl, gem.control.QueryAddedDataControl and gem.control.StudioAddedDataControl option:

    markerHighlightClass - specify custom highlight style rules class for selected marker icon

  • Added class gem.control.RouteControl

  • Added class gem.control.NavigationControl

[Unreleased] - 2021-07-15

Changed

  • Added distance Radius parameter(optional) to gem.places.Search.searchPoiCategory method:

    searchPoiCategory(landmarkCategoryList, coordinates, callback, resultedLandmarks, distanceRadiusMeters)

Added

  • Added to gem.control.SearchControl method:

    setLandmarkResult(landmarkresult) landmarkresult - gem.core.Landmark

[Unreleased] - 2021-07-14

Added

  • Added class gem.control.WikipediaControl with methods:

    constructor(initFiltersOptions)

    initControl(parentDiv, mapView)

    cameraChangedCallback()

    preRenderCallback()

    setControlMode(mode)

    notifySearchSelection(item)

    wikipediainfocallback(wikiResult)

    visibilityReceiver(visibility)

[7.1.21.28.AA5888F6] - 2021-07-13

Changed

  • Changes in gem.d3Scene.MapView in method:

    centerOnRoute(route, durationMs, rectFloat) - added optional parameter rectFloat

  • Changes in gem.control.AddedDataControl in methods:

    mouseOver(item, jsonObject, position)

    createMarkerPopup(item, jsonProperties) - place default marker hover inside map canvas when it’s near edges

[Unreleased] - 2021-07-09

Added

  • Added to gem.control.GeoJsonAddedDataControl in data options:

    disableZoomToData - default false, if set to true disables zooming to the data source at startup

Changed

  • Changes in gem.control.GeoJsonAddedDataControl in method:

    doParseData(parentDiv, mapView) - disable zoom to data source if option is enabled

  • Changes in gem.control.AddedDataControl in constructor

  • Changes in gem.d3Scene.MapView in method:

    centerOnArea(coordinatesTopLeft, coordinatesBottomRight, durationMs, rectangleFloat, callbackfunction) - renamed parameter

[7.1.21.27.F0A8520E] - 2021-07-08

Added

  • Added to gem.control.SearchControl in searchOptions options:

    setCursorReferencePoint - default false ( reference point is center of map envelope ), if set to true the search reference coordinate is set at the last cursor position

    initialPlaceSearch - default no value, specify a search start-up location

Changed

  • Changes in gem.d3Scene.ExternalRenderer in methods:

    onMouseOutEvent(event)

    async createButton(self, item, itemId, groupsize, screenCoords, coordsPoint)

  • Changes in gem.d3Scene.ExternalRendererMarkers in methods:

    createDivForButton(itemId, item, groupsize)

  • Changes in gem.control.SearchControl in constructor and methods:

    createSearchControls(mapDiv, mapTopLeft, mapBottomRight, searchPreferences)

    searchOnMap(searchInputDiv, searchResultsDiv, mapTopLeft, mapBottomRight, searchPreferences)

    resultOnClick(pickedResult, searchInputDiv)

[Unreleased] - 2021-07-07

Added

  • Added to gem.control.SearchControl in searchOptions options:

    mapEnvelope - for setting a custom map envelope for searching

    showLandmarkIcons - for showing search results landmark icons

  • Added to gem.control.SearchControl method:

    setCanvas(image_data, width, height, canvas)

    onMouseOutEvent(event)

Changed

  • Changes in gem.control.SearchControl in methods:

    constructor(searchOptions)

    initControl(container, mapView)

    displayResults(resultList, searchInputDiv, searchResultsDiv)

  • Changes in DataQuerySearchControl in:

    constructor(searchOptions, addedDataControl)

[Unreleased] - 2021-07-06

Added

  • Added comments to gem.control.SearchControl explaining the search control options

Changed

  • Changes in gem.control.SearchControl in methods:

    constructor(initSearchControlOptions) - highlight search result options added

    initControl(container, mapView) - handle highlight options

    resultOnClick(pickedResult, searchInputDiv) - handle highlight options

[Unreleased] - 2021-07-05

Added

  • Added gem.control.zIndex - contains z-index levels for various controls

  • New methods added to gem.control.AddedDataControl:

    createMarkerPopup(jsonProperties)

    getPropertyString(markerProps, arrProperties, separator = ', ')

  • New method added to gem.control.GeoJsonAddedDataControl:

    cameraChangedCallback()

  • New methods added to gem.control.ListControl:

    createListItem(item)

    flyToMarker(item)

Changed

  • Changes in gem.d3Scene.MapView in method:

    addGeoJsonAsCustomMarkers(geojsonbuffer, name, sourceslist, externalRenderer, maxGroupingLevel = 13) - added parameter maxGroupingLevel

  • Changes in gem.d3Scene.ExternalRenderer in methods:

    onMouseOverEvent(event) - added item validity checks

  • Changes in gem.control.AddedDataControl in methods:

    constructor(whenToTriggerInit, loadingMethod, dataOptions) - new parameter dataOptions for styling marker bubbles and grouping options

    mouseClick(item, jsonObject, position)

    mouseOver(item, jsonObject, position) - fix z-index

    mouseOut(item) - fix z-index

    itemSelected(item) - fix z-index and added item validity checks

  • Changes in gem.control.StudioAddedDataControl in:

    constructor(layerMarkersId, iconLocation, dataOptions) - new parameter dataOptions for styling marker bubbles

  • Changes in gem.control.GeoJsonAddedDataControl in methods:

    constructor(geoJsonFileOrObject, iconLocation, iconFilter, dataOptions) - new parameter dataOptions for styling marker bubbles and grouping options

    doParseData(parentDiv, mapView)

  • Changes in gem.control.QueryAddedDataControl in methods:

    constructor(initQueryAddedDataOptions, iconLocation, dataOptions)

    initControl(parentDiv, mapView)

  • Changes in gem.control.ListControl in methods:

    itemSelectionNotifier(item) - fix for selecting a marker and highlighting the corresponding list item

    initControl(parentDiv, mapView) - fix for scrollable list part

    updateIndividualList(list, htmlIdentifier, mapView)

    updateList(htmlIdentifier, mapView, storeId)

    createMarkerListItem(marker, itemId)

    flyTo(marker, itemId)

Removed

  • Removed from gem.control.ListControl methods:

    mouseClick(item, jsonObject, position)

    mouseOver(item, jsonObject)

    mouseOut(item)

    createMarkerPopup(jsonProperties)

    getPropertyString(markerProps, arrProperties, separator = ', ')

[Unreleased] - 2021-07-01

Added

  • New methods added to Em_Object:

    getFormattedText()

    getValue()

  • New method added to gem.d3Scene.MapView:

    registerOnTouchEvent(callback)

  • Constructor added to gem.core.RectangleGeographicAreaList

  • New method added to gem.d3Scene.OverlayItem:

    cacheData()

  • New method added to gem.d3Scene.ExternalRenderer:

    registerItemSelectedCallback(callback)

  • New methods added to gem.core.StoreLocationList:

    push_back(storeLocation)

    queryInfo(pView, storeId, cb)

  • New method added to gem.core.StoreLocation:

    delete()

  • New methods added to gem.core.StoreLocationLang:

    getFormattedText()

    getValue()

  • New object added gem.control.LISTSORTMODE

  • New method added to gem.control.BaseControl:

    preRenderCallback()

  • New method added to gem.control.SearchControl:

    notifySearchSelectionListeners(item)

  • New methods added to gem.control.AddedDataControl:

    setPointOfInterestAndRadius(coords, radius)

    notifySearchSelection(item)

    requestFieldValues(key, callback)

    registerVisibilityNotifier(callback)

    notifyVisibility(value)

    setControlMode(mode)

    notifiyChangeFilterData(key, value)

    preRenderCallback()

    itemSelected(item)

    registerItemSelectionListener(callback)

  • New methods added to gem.control.StudioAddedDataControl:

    addItemToList(itemElementHtmlId, item, itemId, isGroup)

    checkFilters(item)

    notifySearchSelection(item)

    filterData()

    removeItemFromList(itemElementHtmlId, item, itemId)

    setPointOfInterestAndRadius(coords, radius)

    cameraChangedCallback()

    notifiyChangeFilterData(key, value)

    setControlMode(mode)

  • New methods added to gem.control.QueryAddedDataControl:

    setControlMode(mode)

    setPointOfInterestAndRadius(coords, radius)

    notifySearchSelection(item)

    notifiyChangeFilterData(key, value)

    requestFieldValues(key, cb)

  • New methods added to gem.control.ListControl:

    itemSelectionNotifier(item)

    updateIndividualList(list, htmlIdentifier, mapView)

    retainSelectedItem(item, jsonObject, position)

  • Added class DataQueryControl with methods:

    constructor(dataSourceId, iconUrl)

    cameraChangedCallback()

    initControl(parentDiv, mapView)

    getItemsList()

    getItemsSource()

    updateDataSource()

  • Added class DataQueryFiltersControl with methods:

    constructor(initFiltersOptions, addedDataControl)

    initControl(parentDiv, mapView)

    createFilterCategoryControl(parentDiv)

    createDistanceFilterControl(parentDiv)

  • Added class DataQuerySearchControl with methods:

    constructor(initSearchControlOptions, addedDataControl)

    resultOnClick(pickedResult, searchInputDiv)

  • Added class FiltersControl with methods:

    constructor(initFiltersOptions)

    visibilityReceiver(visibility)

    initControl(parentDiv, mapView)

    populateFilterControl(itemsList)

    createDistanceFilterControl(parentDiv)

Changed

  • Change in gem.core.RectangleGeographicAreaList in method push_back(item)

  • Changes in gem.d3Scene.OverlayItem to methods:

    getPreviewData() - added check if item has preview data

    getCoordinates() - added check if item coordinates are valid

  • Changes in gem.core.App in method initApp(initOptions)

  • Changes in gem.d3Scene.ExternalRenderer in methods

    onClickEvent(event)

    getIconLocation(item, isFunction)

    createButton(self, item, itemId, groupsize, screenCoords, coordsPoint)

  • Changes in gem.core.StoreLocation in method queryInfo(pView, storeId, cb)

  • Changes in gem.d3Scene.ExternalRendererMarkers in methods

    createDivForButton(itemId, item, groupsize)

    onClickEvent(event)

  • Changes in gem.control.SearchControl in constructor and methods:

    resultOnClick(pickedResult, searchInputDiv)

    clearSearchText()

  • Changes in gem.control.AddedDataControl in constructor and methods:

    mouseOver(item, jsonObject, position)

    formatJson(p)

  • Changes in gem.control.StudioAddedDataControl in constructor and methods:

    initControl(parentDiv, mapView)

  • Changes in gem.core.AppScreen in method:

    initFinished()

  • Changes in gem.control.GeoJsonAddedDataControl in constructor and methods:

    doParseData(parentDiv, mapView)

  • Changes in gem.control.QueryAddedDataControl in constructor and methods:

    initControl(parentDiv, mapView)

  • Changes in gem.control.ListControl in constructor and methods:

    initControl(parentDiv, mapView)

    updateList(htmlIdentifier, mapView, storeId)

    createMenuListItemObserver(listItem)

    handleMenuListItemIntersect(entries, observer)

    createMarkerListItem(marker, itemId)

    mouseClick(item, jsonObject, position)

    createMarkerPopup(jsonProperties)

    flyTo(marker, itemId)

Removed

  • Removed from gem.control.ListControl methods:

    addItemToList(htmlIdentifier, marker, itemId, isGroup)

    removeItemFromList(itemHTMLID, item, itemId)

[Unreleased] - 2021-06-08

  • Initial release