For AI agents: the complete documentation index is available at /core-sdk/map/web/llms.txt, the full documentation bundle is available at /core-sdk/map/web/llms-full.txt, and this page is available as Markdown at /core-sdk/map/web/changelog.md.
MapxusDeveloper Platform
Products
Positioning APIAccess real-time indoor coordinates and contextual signals.API
UI SDKProduction-ready indoor map interfaces and UI components.AndroidiOS

Change Log

v10.3.0 (2026-09-18)

πŸŽ‰ New

  • Add Map.getLatestVisitedOrdinal().
  • Add RoutePainter.setNavigationFilter().
  • Add IRouteStyle.outdoorLine.inactiveOpacity.
  • Add IRouteStyle.traveledLine for route style setting.
  • Add RoutePainter.renderProgress() for traveledLine rendering.
  • Add IMapxusUtils.findNearestPathInstruction().

πŸ› Fixes

  • Fix disappearing symbols on overlapping routes.
  • Fix indoor elements not being filtered after map drag.
  • Fix floor not switching after dynamic switchFloorScope change.

⚠️ Deprecated

  • Mark IRouteStyle.outdoorLineColor & IRouteStyle.outdoorLineOpacity deprecated, add IRouteStyle.outdoorLine new instead.
  • Mark IRouteStyle.dashedLineColor, IRouteStyle.dashedLineWidth & IRouteStyle.disableDashedLine deprecated, add IRouteStyle.dashedLine new instead.
  • Mark IRouteStyle.indoorLineColor & IRouteStyle.inactiveRouteOpacity deprecated, add IRouteStyle.indoorLine new instead.

v10.2.1 (2026-07-08)

πŸ› Fixes

  • Fix "Map.selectFloorById() cannot work to switch floor of current building while building feature is out of bbox".

v10.2.0 (2026-06-22)

πŸŽ‰ New

  • Add VehicleType.ELEVATOR of RouteService.search() param.
  • Part of search APIs upgraded to v6.
  • Add PresetLanguage.FRENCH and PresetLanguage.ITALIAN.
  • Support indoor map translating in FRENCH and ITALIAN language.

v10.1.1 (2026-04-21)

πŸ› Fixes

  • Fix "map initial language might not be same with browser".

v10.1.0 (2026-03-19)

πŸŽ‰ New

  • Add class CategoryService.
  • Add function Map.queryIndoorInfoByPoint.

⚠️ Deprecated

  • Mark PoisService.searchCategories deprecated, use CategoryService.searchCategories instead.
  • Mark Map.queryIndoorFeaturesByPoint deprecated, use Map.queryIndoorInfoByPoint instead.

v10.0.1 (2026-01-27)

πŸŽ‰ New

  • Update version range of peerDependency @mapxus/mapxus-auth.

πŸ› Fixes

  • Fix "Tile resources use the old token(still valid) to fetch after token changed".
  • Fix "Map cannot show after style request throw the error 401".

πŸš€ Optimization

  • Use the new version format in request headers of map style resources.
  • Integrate environment variables.

v10.0.0 (2025-10-28)

⚠️ Breaking Changes

Class/VariableRemovedNew
AccessControlAccessControl
enumAccessControlOrigin
IMapxusUtilsgetAccessToken
getIdentifier
setGetTokenAsync
setupTokenManager
__internal
IMapOptionappId
secret
platform
getTokenAsync
VenuesService/BuildingsService/PoisService/RouteServiceres.data.resultres.result
error {response: {status, data: {message}}}error {status, message}
interfaceTPromisePois<IPoi | ISharedPoi>Promise<TPoiResponse<TPoi | TSharedPoi>>
TPromiseBuildingsPromise<TBuildingResponse<TBuilding>>
TPromiseVenuesPromise<TVenueResponse<TVenue>>
TPromiseRoutePromise<IResponse<IResponseRoute>>

πŸŽ‰ New

  • Used Mapxus Auth SDK for permission management.

πŸ› Fixes

  • Fix "MapxusMapEvents undefined in ESM lib format".

v9.3.0 (2025-09-23)

πŸŽ‰ New

  • Add mapOption.floorSwitchScope and map.setFloorSwitchScope() to support switching floor by venue or global.

πŸ› Fixes

  • Fix "Failed to retrieve symbol layout during dynamic map theme switching".
  • Fix typedoc script for missing Utils API.
  • Declare style export path.

πŸš€ Optimization

  • Upgrade to typescript@5.9.2.
  • Improve selected history record and floors layering handle.
  • Split dts chuncks.

v9.2.1 (2025-08-26)

πŸ› Fixes

  • Fix "Selecting building might display 2 floors".
  • Fix types export path.

πŸš€ Optimization

  • Add types "@types/geojson".
  • Export classes "IndoorClickSelection" and "OutdoorClickSelection".

v9.2.0 (2025-08-21)

πŸŽ‰ New

  • Add new themes ThemeType.ROSE_TEA , ThemeType.PEAR_SORBET, ThemeType.CITY_WALK and ThemeType.MOCHA_MOUSSE.
  • Add PoisService.searchByFloors().
  • IPoiSearchCustomizedOptions add optional params floorIds and sharedFloorIds.
  • Sections just show the upper layers when they are above POIs and show all layers when they are below POIs.
  • Add mapOption.fitBounds.
  • Add optional parameter "fitBounds" of map.selectFloorById()/selectSharedFloorById()/selectBuildigById()/selectVenueById().
  • Add new styles ThemeType.SECTION_DISPLAY_BY_COLOR and ThemeType.SECTION_DISPLAY_BY_CATEGORY.
  • Add map.indoorClickSelection.enable() and map.indoorClickSelection.disable().
  • Add map.outdoorClickSelection.enable() and map.outdoorClickSelection.disable().

πŸ› Fixes

  • Fix "unselected floor did not keep its history".
  • Fix "cannot change to outdoor while selecting shared level".

πŸš€ Optimization

  • Improve export interfaces.
  • Add sharedFloorId to determine the conditions for initialization to the outdoors.
  • TinyEmitter replaced node:events EventEmitter.

⚠️ Deprecated

  • Mark themes ThemeType.CHRISTMAS, ThemeType.HALLOWEEN, ThemeType.MAPPY_BEE, ThemeType.MAPXUS, ThemeType.LANDS_D, and ThemeType.COMMON deprecated.
  • Mark PoisService.searchByFloor() deprecated, use PoisService.searchByFloors() instead.
  • Mark IPoiSearchCustomizedOptions.floorId deprecated.
  • Mark mapOption.fitBuildingBounds deprecated, use mapOption.fitBounds instead.

v9.1.0 (2025-07-10)

πŸŽ‰ New

  • selectFloorById()/selectSharedFloorById()/selectBuildingById()/selectVenueById() functions add optional parameter "animate", animation disabled in map initialization.
  • Add map.switchFloorByOrdinal().
  • Add map.queryIndoorFeaturesByPoint().
  • Add map.enableIndoorClickSelection and map.enableOutdoorClickSelection.
  • Add section layers display.
  • Add parameter sections?: ISection[] of map.onPoiClickListener().
  • Add interface IMapxusMap of MapxusMap.Map.
  • Add map.setTheme().

πŸ› Fixes

  • Fix "Marker.updateData() cannot update marker data".
  • Fix "Building might show 2 floors at the same time".

⚠️ Deprecated

  • Mark map.getIndoorFeaturesByCoordinates() deprecated, use map.queryIndoorFeaturesByPoint() instead.
  • Mark map.switchTheme() deprecated, use map.setTheme() instead.
  • Mark map.switchBuilding and map.switchOutdoor deprecated.
  • Mark map.getIndoor() deprecated.

v9.0.2 (2025-06-30)

πŸ› Fixes

  • Fix "No floorSelector when call map.selectSharedFloorById(floorId, { dragPan: false }) to select the shared floor in bbox".

v9.0.1 (2025-06-26)

πŸ› Fixes

  • Fix "Cannot select building by clicking map while the style has no shared_level layer".
  • Fix overlapped shared floors selecting priority.
  • Translate symbol names earlier in initialization.
  • Building search API port upgraded from v4 to v5 for shared floor.

v9.0.0 (2025-06-12)

⚠️ Breaking Changes

Class/TypeRemoved(properties/methods)New alternatives
MapfloorSwitchMode
getter floor returns "IFloor | null"getter floor returns "IFloor | ISharedFloor | null"
onMapChangeListener(({floor: IFloor, ...}) => {})onMapChangeListener(({floor: IFloor | ISharedFloor | null, ...}) => {})
onMapClickListener(({floor: IFloor, ...}) => {})onMapClickListener(({floor: IFloor | ISharedFloor | null, ...}) => {})
onPoiClickListener((IPoiEvent) => {})onPoiClickListener((IPoiClickEvent) => {})
onPointClickListener((IPointEvent) => {})onPointClickListener((IPointClickEvent) => {})
EnumFloorSwitchMode
IndoorfloorSwitchMode
Layer id"custom-level-fill"MapxusMap.ASSISTANT_LAYER_INDOOR_FLOORS
MapxusMap.ASSISTANT_LAYER_SHARED_FLOORS
VenuesServicesearchByDistance(keywords, center, distance, offset, page)searchByDistance({center, distance, keywords?, offset?, page?})
searchByBbox(keywords, bbox, offset, page)searchByBounds({bounds, keywords?, offset?, page?})
searchByGlobal(keywords, offset, page)searchByGlobal({keywords?, offset?, page?})
BuildingsServicesearchByDistance(keywords, center, distance, offset, page)searchByDistance({center, distance, keywords?, offset?, page?})
searchByBbox(keywords, bbox, offset, page)searchByBounds({bounds, keywords?, offset?, page?})
searchByGlobal(keywords, offset, page)searchByGlobal({keywords?, offset?, page?})
TypeIFloor {code: string | null; id: string | null; ordinal: string | null;}IFloor {code: string; id: string; ordinal: string;}
IMapClickEvent {floor: IFloor, ...}IMapClickEvent {floor: IFloor | ISharedFloor | null, ...}
IPoiEventIPoiClickEvent
IPointEventIPointClickEvent

πŸŽ‰ New

  • Upgrade maplibre-gl@4.5.0 to maplibre-gl@5.2.0.
  • Upgrade map default style to mapxus_v7.
  • Venue/POI search APIs upgrade to v5 for adding data about shared floor.
  • RouteService API upgraded to v4 to add on_shared_floor property in response.
  • Add "shared floor" concept.
  • Add 2.5D layer.
  • New overlap floors solution.
  • Add lineOffset option of selected highlight.
  • Class RoutePainter add option outdoorLineOpacity: inactiveRouteOpacity and outdoorLineOpacity will be 1 if the parameter is greater than 1, and it will be 0 if the parameter is less than 0.

πŸ› Fixes

  • Fix 'mapbox-gl-rtl-text plugin causes an error in react js strict mode'.
  • Fix "outdoorLineOpacity(set to be not 1) will change to 1 when map switched outdoor".

πŸš€ Optimization

  • Reduce indoor tiles filter frequency.
  • Throw error when IRouteSearchOptions.points has empty point of RouteService.search().
  • Indoor sources are identified based on source ids starting with "indoor-".

⚠️ Deprecated

  • Mark class AccessControl deprecated, use getAccessToken(): Promise<{accessToken, expiredTime}> instead.

v8.7.0 (2025-05-06)

πŸŽ‰ New

  • Upgrade token API with encypted body.
  • Mapxus map supports calling by passing IMapOption.getTokenAsync.
  • Add global event listener MapxusMapEvents.on("unauthorized", callback) for invalid token.
  • Add global event listener MapxusMapEvents.on("initError", callback) for invalid poiId/floorId/buildingId/venueId in initialization.

πŸ› Fixes

  • Fix "click event will interrupt the map initialization process".
  • Only convert the language of symbols in non-string text-fields.
  • Fix the judgment of whether it is a PC browser or a mobile browser.

πŸš€ Optimization

  • appId and secret must not be empty when provided.
  • Improve indoor tiles filter frequency.

⚠️ Deprecated

  • Mark class AccessControl deprecated, use getAccessToken(): Promise<{accessToken, expiredTime}> instead.

v8.6.1 (2025-04-10)

πŸ› Fixes

  • Add mapbox-gl-rtl-text plugin to support right-to-left languages for Arabic.

v8.6.0 (2025-03-20)

πŸŽ‰ New

  • Add multi-language PresetLanguage.CHINESE_TRADITIONAL_TW.
  • Remove opacity setting of style layers 'mapxus-venue-fill/mapxus-building-line-color/mapxus-building-line'.

πŸ› Fixes

  • Fix 'Request headers have no identifier and sdkVersion while using API without indoor map'.
  • Fix 'BuildingFilterControl cannot close the building list on mobile side'.

v8.5.0 (2025-02-26)

πŸŽ‰ New

  • Add Map.platform to get the corresponding platform token.

πŸ› Fixes

  • Fix 'token automatic renewal mechanism cannot work after machine sleep for a long time'.

v8.4.0 (2025-02-18)

πŸŽ‰ New

  • Add Map.mapxusLogoEnabled to set whether to show the Mapxus logo or not.
  • Add Map.transformRequest and Map.setTransformRequest() to transform style resource request parameters.

⚠️ Deprecated

  • Mark ThemeType.MAPXUS_V2 deprecated(use ThemeType.MAPXUS_DEFAULT instead).
  • Mark Map.collapseCopyright deprecated.

v8.3.0 (2025-01-21)

πŸŽ‰ New

  • Class RoutePainter add option outdoorLineOpacity.

v8.2.0 (2024-12-26)

⚠️ Breaking Changes

  • The parameter searchByOrientation of PoisService.searchByOrientation() changed type DistanceSearchType to OrientationDistanceSearchType.

πŸŽ‰ New

  • Add class AccessControl to get token individually.
  • Mapxus map instance destroyed automatically and triggered map.destroyed() when called maplibre.remove().
  • Marker class allows other symbols to be overlapped on its icons.
  • RoutePainter class allows other symbols to be overlapped on its marker icons.
  • Add PoisService.search() to search POIs by all optional parameters.
  • Add BuildingsService.search() to search buildings by all optional parameters.
  • Add VenuesService.search() to search venues by all optional parameters.

v8.1.1 (2024-11-19)

πŸ› Fixes

  • Fix 'RoutePainter.setStyle() cannot set from/to markers and lineSymbol as null'.

v8.1.0 (2024-11-19)

πŸŽ‰ New

  • RoutePainter expanded route custom style settings.
  • new RoutePainter(maplibreMap) -> new RoutePainter(maplibreMap, routeStyle?).
  • Add RoutePainter.setStyle() to update route style in real time.
  • Mark these functions deprecated: setMarkerIcons(), setMarkerIconSize(), setIndoorLineColor(), setOutdoorLineColor(), setDashedLineColor(), setBusLineColor(). Use setStyle() instead.
  • Marker.setOpacityByVenue(venueId, ordinal) -> Marker.setOpacityByVenue(venueId, ordinal, inactiveOpacity?). Marker.setOpacityByBuilding(buildingId, ordinal) -> Marker.setOpacityByBuilding(buildingId, ordinal, inactiveOpacity?).

v8.0.0 (2024-11-15)

⚠️ Breaking Changes

  • Remove the deprecated functions or properties which marked before version 7.10.0(v7.2.0 ~ v7.9.0).

πŸŽ‰ New

  • Map added new multi-languages: fil|id|pt|th|vi|ar.
  • Add function map.getLanguage().
  • Building names of BuildingFilterControl follow with the map language.

v7.11.0 (2024-10-31)

πŸŽ‰ New

  • Add function MapxusMap.getIdentifier().

πŸš€ Optimization

  • Token API added request header parameters: 'identifier' and 'sdkVersion'.
  • Marker.updateData() added null value check of marker source.

v7.10.0 (2024-09-25)

⚠️ Breaking Changes

  • PoisService.searchCategories() added new search range parameters bounds and keywords.
  • parameter {venueId?, buildingId?, floorId?} -> {venueId} | {buildingId} | {floorId} | {bounds, keywords?}

πŸ› Fixes

  • Fix 'fitBounds() would rotate the map while the bearing of map was not 0'.

⚠️ Deprecated

  • Mark the functions or properties deprecated which will not be applied in the coming version on SharedLevel conception: map.floorSwitchMode, enum FloorSwitchMode, indoor.floorSwitchMode.

v7.9.0 (2024-08-20)

⚠️ Breaking Changes

  • Remove the deprecated function indoor.panToBuilding() which marked in version 7.6.0.

πŸ› Fixes

  • Fix overlapped buildings display.
  • Fix "RoutePainter cannot render the route when it starts with a connector".
  • Fix "when init indoor by zoom 13.5 it gets a data error".
  • Fix "when set map.fitBuildingBounds true map will pan to center after fit bounds".
  • Fix "when call map.selectFloorById(floorId, {dragPan: false}) building is missing floors data in map.onMapChangeListener callback".

πŸš€ Optimization

  • Add map.autoSelectBuilding to enable buildings to be automatically selected by panning them to the center of viewport.
  • map.selectVenueById() selects the historical building first.

⚠️ Deprecated

  • Mark indoor.getLevelByPoint() deprecated.
  • Mark the parameter buildingId({points: {buildingId?}}) of RouteService.search() deprecated.

v7.8.0 (2024-07-18)

⚠️ Breaking Changes

  • Upgrade maplibre-gl@4.1.3 to maplibre-gl@4.5.0.
  • Script and style are packaged separately.
<!-- dependent maplibre-gl -->
<script src="https://unpkg.com/maplibre-gl@4.5.0/dist/maplibre-gl.js"></script>
<link href="https://unpkg.com/maplibre-gl@4.5.0/dist/maplibre-gl.css" rel="stylesheet" />
<!-- mapxus map -->
<script src="https://web-sdk.mapxus.com/prod/mapxus-map-7.8.0.js"></script>
<link href="https://web-sdk.mapxus.com/prod/mapxus-map-7.8.0.css" rel="stylesheet" />
import "maplibre-gl/dist/maplibre-gl.css";
import "@mapxus/mapxus-map/dist/index.css";
import "your custom style.css";
import {Map as MaplibreMap} from "maplibre-gl";
import {Map} from "@mapxus/mapxus-map";

const maplibreMap = new MaplibreMap({
  container: "map",
  zoom: 17
});
const map = new Map({
  map: maplibreMap,
  appId: "your app id",
  secret: "your secret",
  buildingId: "tsuenwanplaza_hk_369d01"
});

πŸš€ Optimization

  • routePainter.setMarkerIcons() allows to set the marker icons null.
  • searchByIds() APIs of venue/building/poi service added empty string checking for parameters.

⚠️ Deprecated

  • Mark class Evented exporting deprecated, it will be private.

v7.7.3 (2024-07-12)

πŸ› Fixes

  • Fix map.selectFloorById() cannot change floor when target floor in the same building.
  • Fix map.getIndoorFeaturesByCoordinates() could not find features.
  • Fix map.switchTheme() could not work.

v7.7.2 (2024-06-26)

πŸ“ Changes

  • map.selectVenueById(),map.selectBuildingById() and map.selectFloorById() whether to pan the map decided by the optional parameter {dragPan?: boolean}, default to be "true".

v7.7.1 (2024-06-19)

πŸ› Fixes

  • Fix buildings overlap rendering issue.

v7.7.0 (2024-06-18)

πŸ“ Changes

  • map.selectVenueById(),map.selectBuildingById() and map.selectFloorById() add optional parameter {dragPan?: boolean} to set whether to pan the map while changing the selected indoor state;
  • map.selectVenueById(id, callback?) -> map.selectVenueById(id, {dragPan?: boolean}?).
  • map.selectBuildingById(id, callback?) -> map.selectBuildingById(id, {dragPan?: boolean}?).
  • map.selectFloorById(id, callback?) -> map.selectFloorById(id, {dragPan?: boolean}?).
  • indoor.selectBuilding(feature, floorId?) -> indoor.selectBuilding(feature, {floorId?, dragPan?}?).
  • Remove the deprecated function map.disableFloorControl() and map.enableFloorControl().
  • Mark floorsControl.setVisibility() deprecated, add floorsControl.setEnabled().
  • Mark map.setFloorSelectorStyle() deprecated, add map.floorSelector.setStyle().
  • map.selectVenueById() default to center selected building if it is not in bbox.
  • map.selectBuildingById() default to center selected building if it is not in bbox.
  • map.selectFloorById() default to center selected building if the selected floor is not in bbox.
  • map.getFeaturesById() add an optional parameter {layerIds?: string[], filter? (feature) => boolean} to help filter features.
  • Improve tiles filter and render.
  • Update collapsed-copyright style.

v7.6.0 (2024-05-27)

⚠️ Breaking Changes

  • Upgrade to maplibre-gl@4.1.3.

If you import maplibre-gl package by script tag, you must upgrade them to version 4.1.3

By NPM, there’s no need to upgrade maplibre-gl manually, it will be upgraded automatically by upgrading @mapxus/mapxus-map.

πŸ› Fixes

  • Fix 'click outside level but inside building fill could not exit indoor in mask-building-mode'.
  • Fix 'token API retry in loop when 401'.
  • Fix the building list layout of BuildingFilterControl after changed position.

πŸš€ Optimization

  • Add parameter type null for map.setSelectedBuildingBorderStyle() to remove the selected building border style.
  • Add IMapOption?.language, map.setLanguage(), map.convertBrowserLangToPresetLang() and MapxusMap.VERSION.
  • Improve the map initialization process.
  • Add map.switchBuilding event handler
  • Add map.switchOutdoor event handler
  • Add map.floorSelector event handler
  • Add map.buildingSelector event handler
  • Add map.getMaplibre()
  • Add map.setLanguage()
  • Add map.setOutdoorMapShown()
  • Add map.setFloorSelectorStyle()
  • Add IMapOption.floorSelectorStyle
  • Add IMapOption.floorSelectorEnabled
  • Add IMapOption.buildingSelectorEnabled
  • Add IMapOption.outdoorMapShown
  • Add enum PresetLanguage
  • Add type IFloorSelectorStyle
  • Add indoor.setAllowBuildingSwitch()
  • Add indoor.setAllowOutdoorSwitch()
  • Add indoor.setOutdoorMapShown()
  • Add indoorOption.outdoorMapShown
  • Add indoorOption.startWithIndoorView
  • Add indoorOption.maskNonSelectedAreas
  • Add indoorOption.selectedBuildingBorderStyle
  • Add buildingFilterControl.setVisibility()
  • Add buildinfFilterControl.changePosition()
  • Add optional argument buildingSelectorEnabled of BuildingFilterControl.constructor()
  • Add floorsControl.changePosition()
  • Add floorsControl.position
  • Add floorsControl.enabled
  • Add optional argument options of FloorsControl.contructor()
  • Improve indoor resources request transformation.
  • Upgrade default map style to mapxus_mims2_v5.
  • Upgrade PoisService.searchByIds() API to v4.
  • Upgrade venue and building service APIs to v4.
  • Upgrade maplibre-gl@4.1.1 to maplibre-gl@4.1.3.
  • Remove @types/geojson from dependencies.
  • Enable font settings from the map's style for CJK characters.
  • Remove the hard-coded style of POI name.

⚠️ Deprecated

ClassDeprecated FunctionReplacement Function
MapenableSwitchBuilding()switchBuilding.enable()
disableSwitchBuilding()switchBuilding.disable()
enableSwitch()switchOutdoor.enable()
disableSwitch()switchOutdoor.disable()
getMap()getMaplibre()
enableFloorControl()floorSelector.enable()
disableFloorControl()floorSelector.disable()
enableBuildingSelector()buildingSelector.enable()
disableBuildingSelector()buildingSelector.disable()
transformPoiTextFieldLanguage()setLanguage()
setOutdoorLayerHidden()setOutdoorMapShown()
setFloorsControlStyle()setFloorSelectorStyle()
IMapOption.enableFloorControlIMapOption.floorSelectorEnabled
IMapOption.enableBuildingSelectorIMapOption.buildingSelectorEnabled
IMapOption.hiddenOutdoorIMapOption.outdoorMapShown
IMapOption.floorsControlStyleIMapOption.floorSelectorStyle
optional parameter callback of selectFloorById(), selectBuildingById() and selectVenueById()
PoisServiceIPoi.description
TypeTPresetLanguagePresetLanguage
IFloorsControlStyleIFloorSelectorStyle
ConstMapxusMap.versionMapxusMap.VERSION
IndoorenableSwitchBuilding()setAllowBuildingSwitch()
disableSwitchBuilding()setAllowBuildingSwitch()
enableSwitch()setAllowOutdoorSwitch()
disableSwitch()setAllowOutdoorSwitch()
setMaskNonSelectedAreas()indoorOption.maskNonSelectedAreas
hiddenOutdoorLayer()setOutdoorMapShown()
indoorOption.isHiddenOutdoorindoorOption.outdoorMapShown
indoorOption.isInitialIndoorindoorOption.startWithIndoorView
the optional parameter callback of panToBuilding()
FloorsControlsetPosition()changePosition()
the optional parameter callback deprecated of switchByOrdinal()
BuildingFilterControlsetLayoutHidden()setVisibility()
moveBuildingFilter()changePosition()
second optional argument position of constructor()

v7.5.0 (2024-03-27)

⚠️ Breaking Changes

  • Add RoutePainter.setMarkerIcons() for setting all marker icons.
  • Upgrade maplibre-gl@3.6.2 to maplibre-gl@4.1.1.
  • RoutePainter.setFromMarkerIcon(icon, callback?) -> async setMarkerIcons({from: icon}).
  • RoutePainter.setToMarkerIcon(icon, callback?) -> async setMarkerIcons({to: icon}).
  • Marker.setIconImage(icon, callback?) -> async setIcon(icon).
  • Remove deprecated Marker.setIconImageUrl().
  • Remove RoutePainter.setFromMarkerIcon().
  • Remove RoutePainter.setToMarkerIcon().
  • RouteService.search() supports route planning query for more than 2 points.

RouteService.search(fromCoordinate, toCoordinate, fromFloorId, toFloorId, fromBuildingId, toBuildingId, vehicle, locale?, toDoor?)
-> search({points, vehicle?, locale?, toDoor?}).

  • RoutePainter.render() supports route drawing of more than 2 points.

RoutePainter.render(path, fromCoordinate, toCoordinate)
-> render(path, markerLocations).

  • Update the parameters of PoisService.searchByDistance().

searchByDistance(category, center, distance, offset, page)
-> searchByDistance({center, distance, keywords?, offset?, page?}).

  • Update types
  • WayFindingVehicleType -> VehicleType.
  • IPresetLanguage -> TPresetLanguage.
  • IMultiLangName -> IMultilingualName.
  • IMultiLangAddress -> IMultilingualAddress.

πŸš€ Optimization

  • Upgrade axios@1.6.2 to axios@1.6.7.
  • Add PoisService.searchByOrientation().
  • Add PoisService.searchByFloor().
  • Add PoisService.searchByBounds().
  • Add PoisService.searchByVenue().
  • Add PoisService.searchByBuilding().
  • Add Marker.updateData() to update marker features.
  • Add Marker.on(eventKey, callback) to add mouse event listeners.
  • Add VehicleType.EMERGENCY for route search.
  • Add PoisService.searchByCategory().

⚠️ Deprecated

ClassDeprecated FunctionReplacement Function
PoisServicesearchByBboxsearchByBounds
searchByVenueIdsearchByVenue
searchByBuildingIdsearchByBuilding
searchOrientationsearchByOrientation
MarkeronEventListeneron
RouteServiceparameter 'toDoor' of search()

v7.4.0 (2024-01-29)

πŸ› Fixes

  • Fix 'FloorsControl has different style in Windows Chrome'.
  • Fix the triggering timing of 'map.renderComplete'.
  • Fix 'map.enableFloorControl cannot work by calling in map.renderComplete callback'.

πŸš€ Optimization

  • PoisService.searchOrientation's parameter 'distanceSearchType' added a new type 'Gate'.
  • Throw verification error.
  • Improve 'layer ids start with "mapxus-venue" and "mapxus-building" not be filtered'.
  • Update properties of venue/building/POI API responses.
  • Add public function 'map.getIndoorFeaturesByCoordinates'.
  • Class Marker allows icon overlap and be visible.
  • Upgrade maplibre-gl@3.5.1 to maplibre-gl@3.6.2.
  • Upgrade axios@1.3.4 to axios@1.6.2.
  • Remove default zoom value of map.

v7.3.0 (2023-11-02)

⚠️ Breaking Changes

  • API PoisService.searchOrientation parameters changed.

    Note: Search priority: ordinal > floorId > buildingId searchOrientation(angle, buildingId, center, distance, distanceSearchType, floorId?) -> searchOrientation({center, angle, distance, buildingId?, floorId?, ordinal? distanceSearchType?})

πŸ› Fixes

  • Fix 'Cannot select building while map container is not started from left-top corner'.

πŸš€ Optimization

  • Add optional parameters {fitBuildingBounds, boundsPadding} of map constructor to make the selected building boundaries fit the screen.
  • Upgrade to maplibre-gl@3.5.1.
  • Update token while it is expired and make error request retries.

v7.2.0 (2023-09-26)

⚠️ Breaking Changes

  • Enrich the API PoisService.searchCategories parameters.

    Note: 'venueId', 'buildingId' and 'floorId' are all optional, but at least one needs to be provided. searchCategories(buildingId, floorId) -> searchCategories({venueId, buildingId, floorId})

  • Add marker.onEventListener a return object with 'offEventListener' function.

    const {offEventListener} = marker.onEventListener(eventKey, callback)

  • Add optional 'callback' parameter to marker.setIconImage.

    setIconImage(url) -> setIconImage(url, callback?)

  • Add optional 'callback' parameter to async functions setFromMarkerIcon and setToMarkerIcon of RoutePainter.

    Note: The callback function will be fired after the icon download completed (if you set an external URL). setFromMarkerIcon(url) -> setFromMarkerIcon(url, callback?) setToMarkerIcon(url) -> setToMarkerIcon(url, callback?)

πŸŽ‰ New

πŸ› Fixes

  • Fix "'map.switchTheme' function could not work".

πŸš€ Optimization

  • Improve text overflow style of FloorControl item.
  • Remove deprecated functions of v7.1.0, refer to the changelog of v7.1.0 for details.

⚠️ Deprecated

  • The following APIs are deprecated, remain available in v7.2.0, and are planned for removal in v7.3.0. Please migrate to the replacement APIs below:
ClassDeprecated FunctionReplacement Function
MapgetFeaturegetFeaturesById
IndoorgetFeaturegetFeaturesById
MarkersetIconImageUrlsetIconImage

v7.1.0 (2023-08-30)

⚠️ Breaking Changes

  • Marker class refactoring.

    New class, changes involving almost all methods, please refer to the relevant API documentation.

  • Change PoisService.searchOrientation last required parameter 'floor' to optional 'floorId'.

    searchOrientation(angle, buildingId, center, distance, distanceSearchType, floor) -> searchOrientation(angle, buildingId, center, distance, distanceSearchType, floorId?)

  • Enrich map.onPoiClickListener and map.onMapClickListener callback parameters.

    onPoiClickListener(({coordinate, poi, building, floorName, floorId, ordinal}) => void) -> onPoiClickListener(({coordinate, poi, venue, building, floor}) => void) onMapClickListener(({coordinate, floorName, floorId, ordinal, building}) => void) -> onMapClickListener(({coordinate, floor, building, venue}) => void)

πŸŽ‰ New

πŸ› Fixes

  • Fix "'map.enableFloorControl' function could not work".

πŸš€ Optimization

  • Remove deprecated functions of v7.0.0, refer to the changelog of v7.0.0 for details.

⚠️ Deprecated

  • The following APIs are deprecated, remain available in v7.1.0, and are planned for removal in v7.2.0. Please migrate to the replacement APIs below:
ClassDeprecated FunctionReplacement Function
Mapconstructor parameter {floor}constructor parameter {floorId}
Β floorsbuilding.properties.level_names
Β currentFloorfloor.code
Β ordinalfloor.ordinal
Β venueIdvenue.properties.id
Β selectBuilding
Β switchBuildingselectBuildingById
Β switchFloorselectFloorById
Β hiddenOutdoorLayesetOutdoorLayerHidden
Β onFloorChangeListeneronMapChangeListener
Β onBuildingChangeListeneronMapChangeListener
Β onVenueChangeListeneronMapChangeListener
Indoorfloorsbuilding.properties.level_names
Β ordinalsbuilding.properties.ordinals
Β buildingIdbuilding.properties.id
Β currentFloorfloor.code
Β ordinalfloor.ordinal
Β floorIdfloor.id
Β venueIdvenue.properties.id
Β goToBuildingpanToBuilding
Β switchFloorswitchFloorByOrdinal
Β getBuildingByPoint
PoisServicesearchCategorysearchCategories

v7.0.0 (2023-08-08)

⚠️ Breaking Changes

  • Improve map.onVenueChangeListener callback parameters.

    onVenueChangeListener(({venueId, ordinal}) => void) -> onVenueChangeListener(({feature}) => void)

  • Improve map.onFloorChangeListener callback parameters.

    onFloorChangeListener(({floor, ordinal, feature}) => void) -> onFloorChangeListener((feature) => void)

  • Route service API upgrade to V3 and change the parameter floorName to be floorId..

    search(fromCoord, toCoord, fromFloorName, toFloorName, fromBuildingId, toBuildingId, vehicle, locale) -> search(fromCoord, toCoord, fromFloorId, toFloorId, fromBuildingId, toBuildingId, vehicle, locale)

  • Enrich "map.onMapClickListener" callback parameters.

    onMapClickListener(({point, feature}) => void) -> onMapClickListener(({coordinate, floorName, floorId, ordinal, building}) => void)

πŸŽ‰ New

  • New BuildingFilter control style.
  • New FloorsSelector style.
  • New logo style.
  • Add optional copyright.
  • Add venue APIs.
  • Add function "map.onPointClickListener".
  • Add map constructor option parameter 'floorSwitchMode' to filter tiles by venue or building, default value is 'floorSwitchMode.SWITCHED_BY_VENUE'.
  • Add map constructor option parameter 'floorsControlStyle'.
  • Add map constructor option parameter 'selectedBuildingBorderStyle' and function 'setSelectedBuildingBorderStyle' to set building highlight border style.

πŸš€ Optimization

  • Change 'Evented.on' and 'Evented.off' parameter types from 'any' to 'string'.
  • Improve building and floor displaying priorities.
  • Improve "map.selectBuilding" parameter type to be "IFeatureBuilding|null", for changing map outdoor by parameter "null".
  • Upgrade to maplibre-gl@3.1.0.
  • Upgrade to typescript@5.1.6.
  • Upgrade to axios@1.3.4.

⚠️ Deprecated

  • The following APIs are deprecated, remain available in v7.0.0, and are planned for removal in v7.1.0. Please migrate to the replacement APIs below:
ClassDeprecated FunctionReplacement Function
MaponIndoorPoiListener(({lngLat, originalEvent, point, feature}) => void)onPoiClickListener(({coordinate, poi, building, floorName, floorId}) => void)
IndoorrefLevelfloorId