Usage
In case of Library and WebView integrations it is possible to directly access the map instance API. Below you can find the events and methods that are allowed to leverage map behavior.
Events
The map allows to subscribe (on/once) to the map events and unsubscribe (off) from the map events.
PCMap#Initialized
Emitted after the map gets initialized
map.on('PCMap#Initialized', () => {})
SearchBox#OccupantSelected
Emitted when the occupant is selected by clicking on the item in the search box
map.on('SearchBox#OccupantSelected', (occupant) => {})
occupant- argument of callback that contains all data of the selected occupant
SearchBox#OccupantUnselected
Emitted when the search box is cleared
map.on('SearchBox#OccupantUnselected', () => {})
Directions#Open
Emitted when the directions dialog is opened
map.on('Directions#Open', () => {})
Directions#Close
Emitted when the directions dialog is closed
map.on('Directions#Close', () => {})
Route#Open
Emitted when the route dialog is opened
map.on('Route#Open', ({ from, to, qrcode }) => {})
from- contains information about the start point of the routeend- contains information about the end point of the routeqrcode- contains svg image of the QR code of the route
Route#Close
Emitted when the route dialog is closed
map.on('Route#Close', ({ from, to }) => {})
from- contains information about the start point of the routeend- contains information about the end point of the route
Marker#Click
Emitted when the marker is clicked
map.on('Marker#Click', (occupant) => {})
occupant- argument of callback that contains all data of the occupant corresponding to the marker
Map#Click
Emitted when the user clicks on the map but not on the marker
map.on('Map#Click', () => {})
Map#OrdinalChanged
Emitted when the ordinal changed
map.on('Map#OrdinalChanged', ({ ordinal }) => {})
ordinal- argument of callback that contains selected ordinal identificator
Map#ViewChange
Emitted when the map view changed
map.on('Map#ViewChange', ({ center }) => {})
center- argument of callback that contains new map view center
Map#ZoomChange
Emitted when the map zoom changed
map.on('Map#ZoomChange', ({ zoom }) => {})
zoom- argument of callback that contains new map zoom level
Map#RotationChange
Emitted when the map rotation changed
map.on('Map#RotationChange', ({ rotation }) => {})
rotation- argument of callback that contains new map rotation value
Map#TiltChange
Emitted when the map tilt changed
map.on('Map#TiltChange', ({ tilt }) => {})
tilt- argument of callback that contains new map tilt value
Methods
setDirections
Set the start/end points and avoid stairs value of the directions dialog
map.setDirections({
sourceId,
sourceName,
destinationId,
destinationName,
avoidStairs,
})
sourceId(optional) - id of the occupant/pointsourceName(optional) - name of the occupant/point (make sure that there is only one occupant with that name)destinationId(optional) - id of the occupant/pointdestinationName(optional) - name of the occupant/point (make sure that there is only one occupant with that name)avoidStairs(optional) - force avoiding stairs and escalators
showDirections
Open the directions dialog with the start and end points filled by the provided arguments
map.showDirections({
sourceId,
sourceName,
destinationId,
destinationName,
avoidStairs,
})
sourceId(optional) - id of the occupant/pointsourceName(optional) - name of the occupant/point (make sure that there is only one occupant with that name)destinationId(optional) - id of the occupant/pointdestinationName(optional) - name of the occupant/point (make sure that there is only one occupant with that name)avoidStairs(optional) - force avoiding stairs and escalators
hideDirections
Close directions dialog
map.hideDirections()
clearDirections
Clear directions dialog (start/end point inputs and avoid stairs checkbox)
map.clearDirections()
showRoute
Open the route dialog and show the path from the source to destination points
map.showRoute({
sourceId,
sourceName,
destinationId,
destinationName,
avoidStairs,
})
sourceId(required if sourceName is undefined) - id of the occupant/point (use__your-location__to select current user position)sourceName(required if sourceId is undefined) - name of the occupant/point (make sure that there is only one occupant with that name)destinationId(required if destinationName is undefined) - id of the occupant/point (use__your-location__to select current user position)destinationName(required if destinationId is undefined) - name of the occupant/point (make sure that there is only one occupant with that name)avoidStairs(optional) - force avoiding stairs and escalators
hideRoute
Close route dialog
map.hideRoute()
filterMarkers
Show only markers those are fit filter options.
For reseting certain filter set the null value of that filter.
For reseting all filters call the filterMarkers function without arguments or provide null as an argument.
map.filterMarkers(filter, options)
filter(optional) - is a function that is executed for every POI (occupant/point)options(optional) - an object that contains filtering optionsaddDistanceToPOIs- an array of POIs ID to which a distance should be calculated for every POIaddDistanceToUserPosition- a boolean value that enables calculating distance between user location and POIsaddDistanceToRoute- an object that contains properties of the route to which a distance should be calculated for every POIsourceId(required if sourceName is undefined) - id of the occupant/pointsourceName(required if sourceId is undefined) - name of the occupant/point (make sure that there is only one occupant with that name)destinationId(required if destinationName is undefined) - id of the occupant/pointdestinationName(required if destinationId is undefined) - name of the occupant/point (make sure that there is only one occupant with that name)avoidStairs(optional) - force avoiding stairs and escalators
maxZoom- max allowed zoom
// Filtering by distance to the POI (less than 15 meters) and GeoJSON category `Shopping`
map.filterMarkers(
(poi) =>
poi.distanceToPOIs.every((d) => d < 15) && poi.category.name === 'Shopping',
{ addDistanceToPOIs: ['500'], maxZoom: 20 },
)
// Filtering by distance to the route `E18 => E62` (less than 15 meters)
map.filterMarkers((poi) => poi.distanceToRoute < 15, {
addDistanceToRoute: { sourceName: 'E18', destinationName: 'E62' },
})
// Filtering by distance to the current user position
map.filterMarkers((poi) => poi.distanceToUserPosition < 15, {
addDistanceToUserPosition: true,
})
showOrdinal
Show the ordinal with the corresponding settings from the ordinalsOptions
map.showOrdinal(ordinal)
ordinal(required) - ordinal id (number)
setView
Set center of the map
map.setView(center)
center(required) - coordinates of the center ([latitude: number, longitude: number])
setZoom
Set zoom level of the map
map.setZoom(zoomLevel)
zoomLevel(required) - zoom level (number)
setZoomRange
Set allowed zoom range of the map
map.setZoomRange(minZoomLevel, maxZoomLevel)
minZoomLevel(required) - min zoom level (number)maxZoomLevel(required) - max zoom level (number)
setRotation
Set rotation of the map
map.setRotation(rotation)
rotation(required) - rotation degree (number) (-360...360)
setRotationRange
Set allowed rotation range of the map
map.setRotationRange(minRotation, maxRotation)
minRotation(required) - min rotation degree (number)maxRotation(required) - max rotation degree (number)
setTilt
Set tilt of the map
map.setTilt(tilt)
tilt(required) - tilt degree (number) (-360...360)
setTiltRange
Set allowed tilt range of the map
map.setTiltRange(minTilt, maxTilt)
minTilt(required) - min tilt degree (number)maxTilt(required) - max tilt degree (number)
setUserPosition
Update user position on the map
map.setUserPosition({ latitude, longitude, ordinal })
latitude(required) - latitude part of coordinatelongitude(required) - longitude part of coordinateordinal(optional) - on which floor user is now
setLanguage
Set language of the map
map.setLanguage(languageCode)
languageCode(required) - language code ('ar', 'fr', 'de', 'it', 'jp', 'ru', 'es')
dispose
Releases map resources.
map.dispose()