# Map

The Map object represents the Mini Tokyo 3D map on your page. You create a Map by specifying a container and other options. Then Mini Tokyo 3D initializes the map on the page and returns your Map object.

Extends Evented (opens new window).

new Map(options: Object)

# Parameters

# options (Object (opens new window))

Name Description
options.container
string (opens new window)
The id of the HTML element in which Mini Tokyo 3D will render the map.
options.accessToken
string (opens new window)
Access token for Mapbox (opens new window). If you don't specify this token, an error will occur when loading the map, so make sure to get an access token specific to your web site.
options.secrets
Secrets
An object to store the access tokens used to retrieve data.
options.lang
string (opens new window)
IETF language tag (opens new window) for the language. If not specified, the browser's default language is used. Currently 'ja', 'en', 'ko', 'zh-Hans', 'zh-Hant', 'th' and 'ne' are supported. If an unsupported language is specified, then 'en' is used.
options.dataUrl
string (opens new window)
Mini Tokyo 3D data URL. If not specified, 'https://minitokyo3d.com/data' will be used.
options.clockControl
boolean (opens new window)
default: true
If true, the date and time display will be added to the map.
options.searchControl
boolean (opens new window)
default: true
If true, the search button will be added to the map.
options.navigationControl
boolean (opens new window)
default: true
If true, the navigation buttons will be added to the map.
options.fullscreenControl
boolean (opens new window)
default: true
If true, the fullscreen button will be added to the map.
options.modeControl
boolean (opens new window)
default: true
If true, the mode switch buttons will be added to the map.
options.configControl
boolean (opens new window)
default: true
If true, the configuration buttons will be added to the map.
options.trackingMode
string (opens new window)
default: 'helicopter'
The initial tracking mode. 'helicopter' and 'heading' are supported.
options.ecoMode
string (opens new window)
default: 'normal'
The initial eco mode. 'normal' and 'eco' are supported.
options.center
LngLatLike (opens new window)
default: [139.7670, 35.6814]
The initial geographical center point of the map. If not specified, it will default to around Tokyo station ([139.7670, 35.6814]). Note: Mini Tokyo 3D uses longitude, latitude coordinate order to match GeoJSON.
options.zoom
number (opens new window)
default: 14
The initial zoom level of the map. If not specified, it will default to 14.
options.bearing
number (opens new window)
default: 0
The initial bearing (rotation) of the map, measured in degrees counter-clockwise from north. If not specified, it will default to the true north (0).
options.pitch
number (opens new window)
default: 60
The initial pitch (tilt) of the map, measured in degrees away from the plane of the screen (0-85). If not specified, it will default to 60.
options.ecoFrameRate
number (opens new window)
default: 1
Frame rate for train and airplane animations (frames per second) when Eco Mode is on. Specify on a scale of 1 to 60. Lower values result in less smoother animations and lower CPU resource usage, thus reducing battery consumption on mobile devices. If not specified, it will default to 1.
options.selection
string (opens new window)
ID of the train or flight to be tracked. The train ID is a string in the form of 'odpt.Train:<operator ID>.<railway ID>.<train number>'. The fright ID is a string in the form of 'odpt.FlightInformationArrival:<operator ID>.<airport ID>.<flight number>' or 'odpt.FlightInformationDeparture:<operator ID>.<airport ID>.<flight number>'. The 'odpt.*:' part can be omitted. For details, see the Open Data Challenge for Public Transportation in Tokyo: API Specification (opens new window).
options.plugins
Array (opens new window)<PluginInterface>
An array of plugins to add. Each plugin must implement PluginInterface.

# Instance Members

# addLayer(layer)

Adds a layer to the map.

# Parameters

layer (Object (opens new window) | CustomLayerInterface (opens new window) | ThreeLayerInterface) The layer to add, conforming to either the Mapbox Style Specification's layer definition (opens new window), the CustomLayerInterface (opens new window) specification or the ThreeLayerInterface specification.

# Returns

Map: Returns itself to allow for method chaining.


# easeTo(options)

Changes any combination of center, zoom, bearing, pitch, and padding with an animated transition between old and new values. The map will retain its current values for any details not specified in options.

Note: The transition will happen instantly if the user has enabled the reduced motion accessibility feature enabled in their operating system, unless options includes essential: true.

# Parameters

options (Object (opens new window)) Options describing the destination and animation of the transition. Accepts CameraOptions (opens new window) and AnimationOptions (opens new window).

# Returns

Map: Returns itself to allow for method chaining.


# flyTo(options)

Changes any combination of center, zoom, bearing, and pitch, animating the transition along a curve that evokes flight. The animation seamlessly incorporates zooming and panning to help the user maintain her bearings even after traversing a great distance.

Note: The animation will be skipped, and this will behave equivalently to jumpTo if the user has the reduced motion accessibility feature enabled in their operating system, unless options includes essential: true.

# Parameters

options (Object (opens new window)) Options describing the destination and animation of the transition. Accepts CameraOptions (opens new window), AnimationOptions (opens new window), and the following additional options.

Name Description
options.curve
number (opens new window)
default: 1.42
The zooming "curve" that will occur along the flight path. A high value maximizes zooming for an exaggerated animation, while a low value minimizes zooming for an effect closer to Map#easeTo. 1.42 is the average value selected by participants in the user study discussed in van Wijk (2003) (opens new window). A value of Math.pow(6, 0.25) would be equivalent to the root mean squared average velocity. A value of 1 would produce a circular motion.
options.minZoom
number (opens new window)
The zero-based zoom level at the peak of the flight path. If options.curve is specified, this option is ignored.
options.speed
number (opens new window)
default: 1.2
The average speed of the animation defined in relation to options.curve. A speed of 1.2 means that the map appears to move along the flight path by 1.2 times options.curve screenfuls every second. A screenful is the map's visible span. It does not correspond to a fixed physical distance, but varies by zoom level.
options.screenSpeed
number (opens new window)
The average speed of the animation measured in screenfuls per second, assuming a linear timing curve. If options.speed is specified, this option is ignored.
options.maxDuration
number (opens new window)
The animation's maximum duration, measured in milliseconds. If duration exceeds maximum duration, it resets to 0.

# Returns

Map: Returns itself to allow for method chaining.


# getBearing()

Returns the map's current bearing. The bearing is the compass direction that is "up"; for example, a bearing of 90° orients the map so that east is up.

# Returns

number (opens new window): The map's current bearing.


# getCenter()

Returns the map's geographical centerpoint.

# Returns

LngLat (opens new window): The map's geographical centerpoint.


# getClockMode()

Returns the current clock mode.

# Returns

string (opens new window): A string representing the current clock mode. Either 'realtime' or 'playback'.


# getEcoMode()

Returns the current eco mode.

# Returns

string (opens new window): A string representing the current eco mode. Either 'normal' or 'eco'.


# getMapboxMap()

Returns the Mapbox's Map (opens new window) object used in the map.

# Returns

Map (opens new window): The Mapbox's Map.


# getModelPosition(lnglat, altitude)

Projects a LngLat to a MercatorCoordinate, and returns the translated mercator coordinates with Tokyo Station as the origin.

# Parameters

lnglat (LngLatLike (opens new window)) The location to project.

altitude (number (opens new window)) The altitude in meters of the position.

# Returns

{x: number (opens new window), y: number (opens new window), z: number (opens new window)}: The translated mercator coordinates with Tokyo Station as the origin.


# getModelScale()

Returns the scale to transform into MercatorCoordinate from coordinates in real world units using meters. This provides the distance of 1 meter in MercatorCoordinate units at Tokyo Station.

# Returns

number (opens new window): The scale to transform into MercatorCoordinate from coordinates in real world units using meters.


# getPitch()

Returns the map's current pitch (tilt).

# Returns

number (opens new window): The map's current pitch, measured in degrees away from the plane of the screen.


# getSelection()

Returns the ID of the train or flight being tracked.

# Returns

string (opens new window): The ID of the train or flight being tracked. The train ID is a string in the form of '<operator ID>.<line ID>.<train number>'. The flight ID is a string in the form of '<operator ID>.<airport ID>.<flight number>'.


# getTrackingMode()

Returns the current tracking mode.

# Returns

string (opens new window): A string representing the current tracking mode. Either 'helicopter' or 'heading'.


# getViewMode()

Returns the current view mode.

# Returns

string (opens new window): A string representing the current view mode. Either 'ground' or 'underground'.


# getZoom()

Returns the map's current zoom level.

# Returns

number (opens new window): The map's current zoom level.


# hasDarkBackground()

Checks if the background color of the map is dark.

# Returns

boolean (opens new window): true if the background color of the map is dark, false otherwise.


# jumpTo(options)

Changes any combination of center, zoom, bearing, and pitch, without an animated transition. The map will retain its current values for any details not specified in options.

# Parameters

options (CameraOptions (opens new window)) Options object.

# Returns

Map: Returns itself to allow for method chaining.


# off(type, listener)

Removes an event listener previously added with Map#on.

# Parameters

type (string (opens new window)) The event type previously used to install the listener.

listener (Function (opens new window)) The function previously installed as a listener.

# Returns

Map: Returns itself to allow for method chaining.


# on(type, listener)

Adds a listener for events of a specified type.

# Parameters

type (string (opens new window)) The event type to listen for.

listener (Function (opens new window)) The function to be called when the event is fired.

# Returns

Map: Returns itself to allow for method chaining.


# once(type, listener)

Adds a listener that will be called only once to a specified event type.

# Parameters

type (string (opens new window)) The event type to add a listener for.

listener (Function (opens new window)) The function to be called when the event is fired.

# Returns

Map: Returns itself to allow for method chaining.


# removeLayer(id)

Removes the layer with the given ID from the map.

# Parameters

id (string (opens new window)) ID of the layer to remove.

# Returns

Map: Returns itself to allow for method chaining.


# setBearing(bearing)

Sets the map's bearing (rotation). The bearing is the compass direction that is "up"; for example, a bearing of 90° orients the map so that east is up.

Equivalent to jumpTo({bearing: bearing}).

# Parameters

bearing (number (opens new window)) The desired bearing.

# Returns

Map: Returns itself to allow for method chaining.


# setCenter(center)

Sets the map's geographical centerpoint. Equivalent to jumpTo({center: center}).

# Parameters

center (LngLatLike (opens new window)) The centerpoint to set.

# Returns

Map: Returns itself to allow for method chaining.


# setClockMode(mode)

Sets the clock mode. In the real-time clock mode ('realtime'), trains and airplanes are displayed on the map according to the actual operation at the current time. In the playback clock mode ('playback'), you can specify the time and the speed of time passing.

# Parameters

mode (string (opens new window)) A string representing the clock mode. Either 'realtime' or 'playback'.

# Returns

Map: Returns itself to allow for method chaining.


# setEcoMode(mode)

Sets the eco mode. In the normal mode ('normal'), the frame rate for train and airplane animations will be set to 60. In the eco mode ('eco'), the frame rate will be set to the Map constructor option ecoFrameRate.

# Parameters

mode (string (opens new window)) A string representing the eco mode. Either 'normal' or 'eco'.

# Returns

Map: Returns itself to allow for method chaining.


# setLayerVisibility(layerId, visibility)

Sets the visibility of the layer. Specify 'visible' to make it visible, or 'none' to make it invisible.

# Parameters

layerId (string (opens new window)) The ID of the layer to set the visibility in.

visibility (string (opens new window)) Whether this layer is displayed. Either 'visible' or 'none'.

# Returns

Map: Returns itself to allow for method chaining.


# setPitch(pitch)

Sets the map's pitch (tilt). Equivalent to jumpTo({pitch: pitch}).

# Parameters

pitch (number (opens new window)) The pitch to set, measured in degrees away from the plane of the screen (0-85).

# Returns

Map: Returns itself to allow for method chaining.


# setSelection(id)

Sets the ID of the train or flight you want to track. The train ID is a string in the form of 'odpt.Train:<operator ID>.<railway ID>.<train number>'. The fright ID is a string in the form of 'odpt.FlightInformationArrival:<operator ID>.<airport ID>.<flight number>' or 'odpt.FlightInformationDeparture:<operator ID>.<airport ID>.<flight number>'. The 'odpt.*:' part can be omitted. For details, see the Open Data Challenge for Public Transportation in Tokyo: API Specification (opens new window).

# Parameters

id (string (opens new window)) ID of the train or flight to be tracked.

# Returns

Map: Returns itself to allow for method chaining.


# setTrackingMode(mode)

Sets the tracking mode. In the helicopter tracking mode ('helicopter'), it makes a 360 degree turn around the target train or airplane. In the heading tracking mode ('heading'), it tracks the target train or airplane from above or diagonally behind in the direction of travel up.

# Parameters

mode (string (opens new window)) A string representing the tracking mode. Either 'helicopter' or 'heading'.

# Returns

Map: Returns itself to allow for method chaining.


# setViewMode(mode)

Sets the view mode. In the ground view mode (ground'), ground railways, stations, trains and airplanes will be displayed brightly, and underground railways, stations and trains will be translucent. In the underground view mode ('underground'), the map will turn dark and ground railways, stations, trains and airplanes will be translucent, while underground railways, stations and trains will appear brighter.

# Parameters

mode (string (opens new window)) A string representing the view mode. Either 'ground' or 'underground'.

# Returns

Map: Returns itself to allow for method chaining.


# setZoom(zoom)

Sets the map's zoom level. Equivalent to jumpTo({zoom: zoom}).

# Parameters

zoom (number (opens new window)) The zoom level to set (0-20).

# Returns

Map: Returns itself to allow for method chaining.

# Events

# boxzoomcancel

Fired when the user cancels a "box zoom" interaction, or when the bounding box does not meet the minimum size threshold. See BoxZoomHandler (opens new window).

# Properties

data (MapBoxZoomEvent (opens new window))


# boxzoomend

Fired when a "box zoom" interaction ends. See BoxZoomHandler (opens new window).

# Properties

data (MapBoxZoomEvent (opens new window))


# boxzoomstart

Fired when a "box zoom" interaction starts. See BoxZoomHandler (opens new window).

# Properties

data (MapBoxZoomEvent (opens new window))


# click

Fired when a pointing device (usually a mouse) is pressed and released at the same point on the map.

# Properties

data (MapMouseEvent (opens new window))


# clockmode

Fired when the clock mode is changed.

# Properties

data ({mode:string (opens new window)})


# contextmenu

Fired when the right button of the mouse is clicked or the context menu key is pressed within the map.

# Properties

data (MapMouseEvent (opens new window))


# dblclick

Fired when a pointing device (usually a mouse) is pressed and released twice at the same point on the map in rapid succession.

# Properties

data (MapMouseEvent (opens new window))


# deselection

Fired when a train or airplane tracking is canceled.

# Properties

data ({deselection:string (opens new window)})


# drag

Fired repeatedly during a "drag to pan" interaction. See DragPanHandler (opens new window).

# Properties

data ({originalEvent:DragEvent (opens new window)})


# dragend

Fired when a "drag to pan" interaction ends. See DragPanHandler (opens new window).

# Properties

data ({originalEvent:DragEvent (opens new window)})


# dragstart

Fired when a "drag to pan" interaction starts. See DragPanHandler (opens new window).

# Properties

data ({originalEvent:DragEvent (opens new window)})


# ecomode

Fired when the eco mode is changed.

# Properties

data ({mode:string (opens new window)})


# error

Fired when an error occurs. This is Mini Tokyo 3D's primary error reporting mechanism. We use an event instead of throw to better accommodate asynchronous operations. If no listeners are bound to the error event, the error will be printed to the console.

# Properties

data ({error: {message:string (opens new window)}})


# load

Fired immediately after all necessary resources have been downloaded and the first visually complete rendering of the map has occurred.


# mousedown

Fired when a pointing device (usually a mouse) is pressed within the map.

# Properties

data (MapMouseEvent (opens new window))


# mousemove

Fired when a pointing device (usually a mouse) is moved while the cursor is inside the map. As you move the cursor across the map, the event will fire every time the cursor changes position within the map.

# Properties

data (MapMouseEvent (opens new window))


# mouseover

Fired when a pointing device (usually a mouse) is moved within the map. As you move the cursor across a web page containing a map, the event will fire each time it enters the map or any child elements.

# Properties

data (MapMouseEvent (opens new window))


# mouseup

Fired when a pointing device (usually a mouse) is released within the map.

# Properties

data (MapMouseEvent (opens new window))


# move

Fired repeatedly during an animated transition from one view to another, as the result of either user interaction or methods such as Map#flyTo.

# Properties

data ((MapMouseEvent (opens new window) | MapTouchEvent (opens new window)))


# moveend

Fired just after the map completes a transition from one view to another, as the result of either user interaction or methods such as Map#jumpTo.

# Properties

data ({originalEvent:DragEvent (opens new window)})


# movestart

Fired just before the map begins a transition from one view to another, as the result of either user interaction or methods such as Map#jumpTo.

# Properties

data ({originalEvent:DragEvent (opens new window)})


# pitch

Fired repeatedly during the map's pitch (tilt) animation between one state and another as the result of either user interaction or methods such as Map#flyTo.

# Properties

data (MapEventData)


# pitchend

Fired immediately after the map's pitch (tilt) finishes changing as the result of either user interaction or methods such as Map#flyTo.

# Properties

data (MapEventData)


# pitchstart

Fired whenever the map's pitch (tilt) begins a change as the result of either user interaction or methods such as Map#flyTo.

# Properties

data (MapEventData)


# resize

Fired immediately after the map has been resized.


# rotate

Fired repeatedly during a "drag to rotate" interaction. See DragRotateHandler (opens new window).

# Properties

data ((MapMouseEvent (opens new window) | MapTouchEvent (opens new window)))


# rotateend

Fired when a "drag to rotate" interaction ends. See DragRotateHandler (opens new window).

# Properties

data ((MapMouseEvent (opens new window) | MapTouchEvent (opens new window)))


# rotatestart

Fired when a "drag to rotate" interaction starts. See DragRotateHandler (opens new window).

# Properties

data ((MapMouseEvent (opens new window) | MapTouchEvent (opens new window)))


# selection

Fired when a train or airplane tracking is initiated.

# Properties

data ({selection:string (opens new window)})


# touchcancel

Fired when a touchcancel (opens new window) event occurs within the map.

# Properties

data (MapTouchEvent (opens new window))


# touchend

Fired when a touchend (opens new window) event occurs within the map.

# Properties

data (MapTouchEvent (opens new window))


# touchmove

Fired when a touchmove (opens new window) event occurs within the map.

# Properties

data (MapTouchEvent (opens new window))


# touchstart

Fired when a touchstart (opens new window) event occurs within the map.

# Properties

data (MapTouchEvent (opens new window))


# trackingmode

Fired when the tracking mode is changed.

# Properties

data ({mode:string (opens new window)})


# viewmode

Fired when the view mode is changed.

# Properties

data ({mode:string (opens new window)})


# wheel

Fired when a wheel (opens new window) event occurs within the map.

# Properties

data (MapWheelEvent (opens new window))


# zoom

Fired repeatedly during an animated transition from one zoom level to another, as the result of either user interaction or methods such as Map#flyTo.

# Properties

data ((MapMouseEvent (opens new window) | MapTouchEvent (opens new window)))


# zoomend

Fired just after the map completes a transition from one zoom level to another, as the result of either user interaction or methods such as Map#flyTo.

# Properties

data ((MapMouseEvent (opens new window) | MapTouchEvent (opens new window)))


# zoomstart

Fired just before the map begins a transition from one zoom level to another, as the result of either user interaction or methods such as Map#flyTo.

# Properties

data ((MapMouseEvent (opens new window) | MapTouchEvent (opens new window)))

Last Updated: 11/19/2021, 11:32:20 AM