For AI agents: the complete documentation index is available at /jp/core-sdk/map/web/llms.txt, the full documentation bundle is available at /jp/core-sdk/map/web/llms-full.txt, and this page is available as Markdown at /jp/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-24)

πŸŽ‰ 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-13)

πŸ› Fixes

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

v10.2.0 (2026-06-25)

πŸŽ‰ New

v10.1.1 (2026-05-07)

πŸ› Fixes

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

v10.1.0 (2026-03-26)

πŸŽ‰ New

⚠️ Deprecated

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

v10.0.1 (2026-03-09)

πŸ› 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".
  • Fix "When initializing a new map after destroying the old one during the app's lifetime, it throws PermissionError".

πŸš€ Optimization

  • Update versions range of peerDependency @mapxus/mapxus-auth-jp.
  • Use the new version format in request headers of map style resources.
  • Logo control compatible with multiple environments.

v10.0.0 (2025-10-30)

⚠️ Breaking Changes

  • @mapxus/mapxus-auth-jp@0.0.1 dependency required in APP.
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 | ISharedPoi>>
TPromiseBuildingsPromise<TBuildingResponse<TBuilding>>
TPromiseVenuesPromise<TVenueResponse<TVenue>>
TPromiseRoutePromise<IResponse<IResponseRoute>>

πŸŽ‰ New

  • Used Mapxus Auth SDK for permission management.

πŸ› Fixes

  • window.MapxusMapEvents undefined in ESM lib format.

v9.3.0 (2025-09-29)

πŸŽ‰ New

πŸ› Fixes

  • Fix "Failed to retrieve symbol layout during dynamic map theme switching".
  • Fix typedoc script for missing Utils API.
  • Declare style export path.
// support style import
import "@mapxus/mapxus-map-jp/style"; // or import '@mapxus/mapxus-map-jp/dist/index.css'

πŸš€ Optimization

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

v9.2.0 (2025-08-27)

πŸŽ‰ New

πŸ“ Changes

  • If you get the error like Internal server error: Missing "./dist/index.css" specifier in "@mapxus/mapxus-map-jp" package,
    there's a temporary solution below, we will fix it in the next version.
import "@mapxus/mapxus-map-jp/dist/index.css"; // delete this import

// import the css file via html link tag
<link
  href="https://web-sdk.mapxus.co.jp/prod/mapxus-map-9.2.0-jp.css"
  rel="stylesheet"
/>;

πŸ› Fixes

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

πŸš€ Optimization

  • Improve export types.
  • Improve the conditions(compatible with shared floors) to determine initialization outdoor.
  • node:events EventEmitter replaced by TinyEmitter.

⚠️ 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-17)

πŸŽ‰ 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.0 (2025-07-01)

⚠️ 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 &#124; ISharedFloor &#124; null, ...}) => {})
onMapClickListener(({floor: IFloor, ...}) => {})onMapClickListener(({floor: IFloor &#124; ISharedFloor &#124; null, ...}) => {})
onPoiClickListener((IPoiEvent) => {})onPoiClickListener((IPoiClickEvent) => {})
onPointClickListener((IPointEvent) => {})onPointClickListener((IPointClickEvent) => {})
EnumFloorSwitchMode
IndoorfloorSwitchMode
Layer id"custom-level-fill"MapxusMap.ASSISTANT_LAYER_INDOOR_FLOORS <br/> 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 &#124; null; id: string &#124; null; ordinal: string &#124; null;}IFloor {code: string; id: string; ordinal: string;}
IMapClickEvent {floor: IFloor, ...}IMapClickEvent {floor: IFloor &#124; ISharedFloor &#124; null, ...}
IPoiEventIPoiClickEvent
IPointEventIPointClickEvent

πŸŽ‰ New

  • Upgrade maplibre-gl@4.5.0 to maplibre-gl@5.2.0.
  • Upgrade map default style to mapxus_v7.
  • Venue/Building/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 layers(It is recommended to use a new version of the browser, the old versions might not work well).
  • 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.5.0 (2025-05-22)

πŸŽ‰ New

  • Upgrade token API.
  • Add IMapOption.getTokenAsync to support getting token from external function.
  • 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

  • Add mapbox-gl-rtl-text plugin to support right-to-left languages for Arabic.
  • 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

v8.4.0 (2025-03-25)

πŸŽ‰ New

  • Add Map.platform to get the corresponding platform token.
  • 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 'token automatic renewal mechanism cannot work after machine sleep for a long time'.
  • 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.3.0 (2025-02-19)

πŸŽ‰ New

⚠️ Deprecated

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

v8.2.0 (2025-01-23)

πŸŽ‰ New

  • Class RoutePainter add option outdoorLineOpacity.

v8.1.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.0.0 (2024-11-20)

⚠️ Breaking Changes

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

πŸŽ‰ New

⚠️ Deprecated

  • Mark these functions deprecated: setMarkerIcons(), setMarkerIconSize(), setIndoorLineColor(), setOutdoorLineColor(), setDashedLineColor(), setBusLineColor(). Use setStyle() instead.

v7.11.0 (2024-10-31)

πŸŽ‰ New

πŸš€ Optimization

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

v7.10.0 (2024-09-30)

⚠️ Breaking Changes

  • PoisService.searchCategories() added new search scope 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 in 'fitBuildingBounds: true' mode".

⚠️ 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-29)

⚠️ 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-25)

⚠️ Breaking Changes

  • Upgrade maplibre-gl@4.1.3 to maplibre-gl@4.5.0.
  • Script and style are packaged separately.
<!-- import in HTML head -->
<!-- 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.co.jp/prod/mapxus-map-7.8.0.js"></script>
<link
  href="https://web-sdk.mapxus.co.jp/prod/mapxus-map-7.8.0.css"
  rel="stylesheet"
/>
// import by NPM package
import "maplibre-gl/dist/maplibre-gl.css";
import "@mapxus/mapxus-map-jp/dist/index.css";
import "your custom style.css";
import maplibregl from "maplibre-gl";
import { Map } from "@mapxus/mapxus-map-jp";

const maplibreMap = new maplibregl.Map({
  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.2 (2024-07-15)

πŸ› Fixes

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

v7.7.1 (2024-06-28)

πŸš€ Optimization

  • Update logo link.
  • 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.0 (2024-06-19)

⚠️ Breaking Changes

πŸš€ Optimization

  • 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() 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.

⚠️ Deprecated

ClassDeprecated Function(still support)Recommended Function
MapsetFloorSelectorStyle()floorSelector.setStyle()
FloorsControlsetVisibility()setEnabled()

v7.6.0 (2024-05-30)

⚠️ 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

<script src="https://unpkg.com/maplibre-gl@4.1.3/dist/maplibre-gl.js"></script>
<link
  href="https://unpkg.com/maplibre-gl@4.1.3/dist/maplibre-gl.css"
  rel="stylesheet"
/>

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

πŸ› 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

⚠️ Deprecated

ClassDeprecated Function(still support)Replacement Function
MapenableSwitchBuilding()switchBuilding.enable()
disableSwitchBuilding()switchBuilding.disable()
enableSwitch()switchOutdoor.enable()
disableSwitch()switchOutdoor.disable()
getMap()getMaplibre()
enableFloorControl()floorSelector.enable(), floorSelector.setPosition()
disableFloorControl()floorSelector.disable()
enableBuildingSelector()buildingSelector.enable(), buildingSelector.setPosition()
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.

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

  • Update the parameters of PoisService.searchByDistance().

  • Update types.

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

πŸš€ Optimization

⚠️ Deprecated

ClassDeprecated Function(still support)Recommended Function
PoisServicesearchByBboxsearchByBounds
Β searchByVenueIdsearchByVenue
Β searchByBuildingIdsearchByBuilding
Β searchOrientationsearchByOrientation
MarkeronEventListeneron
RouteServiceparameter 'toDoor' of search()Β 

v7.4.0 (2024-01-31)

πŸ› 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-23)

πŸ› Fixes

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

πŸš€ Optimization

  • Add optional parameters fitBuildingBounds and 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.
  • ⚠️ Breaking: 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?})

v7.2.0 (2023-09-26)

πŸŽ‰ 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.
  • ⚠️ Breaking: 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})

  • ⚠️ Breaking: Add marker.onEventListener a return object with 'offEventListener' function.

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

  • ⚠️ Breaking: Add optional 'callback' parameter to marker.setIconImage.

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

  • ⚠️ Breaking: 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?)

  • ⚠️ Breaking: ️Mark the following functions deprecated, they will be removed soon after, you'd better update relative usages in your apps from this version:
ClassDeprecated FunctionReplacement Function
MapgetFeaturegetFeaturesById
IndoorgetFeaturegetFeaturesById
MarkersetIconImageUrlsetIconImage

v7.1.0 (2022-09-05)

πŸŽ‰ New

  • Add RoutePainter class.
  • Add BuildingsService.searchByFloorId API.
  • Add map.selectVenueById function.
  • Add map constructor option parameter 'floorsControlStyle'.
  • 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 'selectedBuildingBorderStyle' and function 'setSelectedBuildingBorderStyle' to set building highlight border style.
  • Add venue APIs.
  • New BuildingFilter control style.
  • New FloorsSelector style.
  • ⚠️ Breaking: Marker class refactoring.

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

πŸ› Fixes

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

πŸš€ Optimization

  • Change functions 'Evented.on' and 'Evented.off' parameter types from 'any' to 'string'.
  • 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.
  • ⚠️ Breaking: Change the last required parameter 'floor' to optional 'floorId' of PoisService.searchOrientation.

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

  • ⚠️ Breaking: Change 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)

  • ⚠️ Breaking: Change map.onVenueChangeListener callback parameters.

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

  • ⚠️ Breaking: Change map.onFloorChangeListener callback parameters.

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

  • ⚠️ Breaking: Upgrade Route service API 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)

  • ⚠️ Breaking: Mark the following functions deprecated, they will be removed next version, you'd better update relative usages in your apps from this version:
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
Β onIndoorPoiListener(({lngLat, originalEvent, point, feature}) => void)onPoiClickListener(({coordinate, poi, building, floorName, floorId}) => void)
Indoorfloorsbuilding.properties.level_names
Β ordinalsbuilding.properties.ordinals
Β buildingIdbuilding.properties.id
Β currentFloorfloor.code
Β ordinalfloor.ordinal
Β refLevelfloor.id
Β venueIdvenue.properties.id
Β goToBuildingpanToBuilding
Β switchFloorswitchFloorByOrdinal
Β getBuildingByPoint
PoisServicesearchCategorysearchCategories

v6.0.0 (2023-05-23)

πŸŽ‰ New

  • Add a new copyright style and open it through the new property Map.collapseCopyright.
  • New style of the default copyright logo.
  • FloorSelector shows the building levels and filter indoor tiles by building ordinal and venue id.
  • Highlight the selected floor of selected building.

πŸ“ Changes

  • Update logo website.
  • The indoor/outdoor judgment based on the building-line changed to be based on level-fill.
  • Hidden building only cannot be selected by clicking on the map, but it is always allowed by calling Map.switchBuilding or Map.selectBuilding.
  • Map added public function "onVenueChangeListener".
  • The callbacks of Map.onFloorChangeListener and Map.switchFloor added a new parameter "ordinal".
  • Map add getters 'ordinal' and 'venueId' for route path filtering [by venue id and ordinal].
  • Npm package excluded the devDependencies.
  • Update to maplibre-gl@>=2.1.9.
  • Update to axios@1.3.4.

πŸ› Fixes

  • Fix the bug that the specified building floor cannot be initialized through Map.floor.
  • Current floor did not be selected when map render by POI.
  • Some API request header's identifier are undefined.
  • Function 'disableSwitch' for indoor-outdoor would make indoor-indoor disabled.

v5.4.1 (2023-03-10)

πŸ› Fixes

  • Venue floors allowed same floor names(different ordinal) then switch by ordinal.

v5.4.0 (2023-01-17)

πŸŽ‰ New

  • Update token API;
  • Update building/poi/theme API to version 3.

πŸ› Fixes

  • Service APIs did not throw errors.

v5.3.0 (2022-12-28)

πŸŽ‰ New

  • When the indoor map is initialized, only the floor corresponding to the minimum absolute value of the venue ordinal is displayed.
  • Filter the features in the whole venue based on the venue ordinal when switching floors.
  • Event listeners 'onMapClickListener', 'onIndoorPoiListener', 'onBuildingChangeListener', 'onFloorChangeListener' of class Map, 'onFloorClick' of FloorsControl, 'onPointClick' of Poi return an object with a function 'unsubscribe' for removing listeners.

πŸ› Fixes

  • Event listeners 'onMapClickListener', 'onIndoorPoiListener', 'onBuildingChangeListener', 'onFloorChangeListener' of class Map, 'onFloorClick' of FloorsControl, 'onPointClick' of Poi, could not be called in multiple places.
  • BuildingFilter has the same buildings.

v5.2.0 (2022-08-31)

πŸŽ‰ New

  • Reset to v5.0.1.
  • Indoor map shows connector and restroom's POI name.

v5.1.0 (2022-08-04)

πŸŽ‰ New

  • Indoor map shows connector and restroom's POI name.

v5.0.2 (2022-07-15)

πŸŽ‰ New

  • Indoor map just shows the building with ordinal = 0 by default; The buildings with no ordinal = 0 just show their building lines by default.
  • The parameter 'map: Map' is required when new a marker instance.
  • Markers can be filtered automatically after building or floor changed.

πŸ› Fixes

  • Fix the bug that it still could get the coordinates, floor and building after removed the markers.

v5.0.1 (2022-07-12)

πŸŽ‰ New

  • Mapxus Map adds Japanese and Korean languages.

v5.0.0 (2022-07-01)

πŸŽ‰ New

  • Mapxus Map renders indoor map by showing all the ground floors by default.

v4.1.4 (2022-03-23)

πŸ“ Changes

  • Remove the deprecated functions 'getDefaultPosition' of floorsControl, 'getDefaultPosition' and 'setPosition' of buildingFilterControl.

πŸ› Fixes

  • Fix the bug that the selected floor was not in the center of the floorsControl when init.

v4.1.3 (2022-03-09)

πŸ› Fixes

  • Fix the bug that the value of floorsControl.position is not updated after 'map.enableFloorControl(position)' called.

v4.1.2 (2022-02-23)

πŸ“ Changes

  • Whether the Mapxus map is indoor or outdoor depends on: it is currently indoor, based on levelFill; currently outdoor, based on buildingLine.
  • Remove the node placeholders for the floorControl and buildingFilter when they are not visible.

πŸ› Fixes

  • Fix the bug which of the init values of map options 'enableFloorControl' & 'enableBuildingSelector'.
  • Fix the bug that enableFloorControl will lost the floorChangeEventListener while enableFloorControl:false at init.

v4.1.1 (2022-01-05)

πŸ› Fixes

  • Fix the bug of initial floor(while the building's ordinals are all minuses).

v4.1.0 (2021-12-22)

πŸ“ Changes

  • Add a custom layer custom-level-fill which always on the map with 'fill-opacity: 0'.
  • Filter building-line layer by setting its fill-opacity 0 or 1.
  • FloorControl & BuildingSelector added the new property position and enabled.
  • Users set FloorControl(/BuildingSelector) enabled by enableFloorControl(/enableBuildingSelector)() replace of disableFloorControl(/disableBuildingSelector)() & enableFloorControl(/enableBuildingSelector)().
  • Mark getDefaultPosition of FloorControl & BuildingSelector deprecated, alternative by the new property position.
  • Mark setPosition of BuildingSelector deprecated, alternative by enableBuildingSelector(position).
  • Mapxus map can return to the floor which previously visited in switching buildings.

πŸ› Fixes

  • Users can select other buildings normally after initializing the building error.

v4.0.0 (2021-11-09)

πŸ“ Changes

  • MapLibre GL replaces Mapbox GL as the new map rendering engine of MapxusMap.