Class: Menu

Menu

Class for context menu, useful for interactions with right clicks on the map.
Menu items is set to options.items or by setItems method.

Normally items is a object array, containing:
1. item object: {'item': 'This is a menu text', 'click': function() {alert('oops! You clicked!');)}}
2. minus string "-", which will draw a splitor line on the menu.

If options.custom is set to true, the menu is considered as a customized one. Then items is the customized html codes or HTMLElement.
Parameter Type Description
options Object options defined in ui.Menu
Extends:
Fires:

Members

  • (constant) defaultOptions

  • Properties:
    Name Type Description
    options Object
    Properties
    Name Type Default Description
    autoPan opt Boolean false set it to false if you don't want the map to do panning animation to fit the opened menu.
    width opt Number 160 default width
    maxHeight opt Number 0 default max-height
    custom opt String | HTMLElement false set it to true if you want a customized menu, customized html codes or a HTMLElement is set to items.
    items Array.<Object> | String | HTMLElement html code or a html element is options.custom is true. Or a menu items array, containing: item objects, "-" as a splitor line
    Source:

  • (constant) options

  • Inherited From:
    Properties:
    Name Type Description
    options Object
    Properties
    Name Type Default Description
    eventsPropagation opt Boolean false whether stop ALL events' propagation.
    eventsToStop opt Boolean null UI's dom events to stop propagation if eventsPropagation is true.
    dx opt Number 0 pixel offset on x axis
    dy opt Number 0 pixel offset on y axis
    autoPan opt Boolean false set it to false if you don't want the map to do panning animation to fit the opened UI.
    autoPanDuration opt Boolean 600 duration for auto panning animation.
    single opt Boolean true whether the UI is a global single one, only one UI will be shown at the same time if set to true.
    animation opt Boolean null fade | scale | fade,scale, add animation effect when showing and hiding.
    animationDuration opt Number 300 animation duration, in milliseconds.
    pitchWithMap opt Boolean false whether tilt with map
    rotateWithMap opt Boolean false whether rotate with map
    Inherited From:
    Source:

    Methods

  • setItems(items) [source]

  • Set the items of the menu.
    menu.setItems([
         //return false to prevent event propagation
        {'item': 'Query', 'click': function() {alert('Query Clicked!'); return false;}},
        '-',
        {'item': 'Edit', 'click': function() {alert('Edit Clicked!')}},
        {'item': 'About', 'click': function() {alert('About Clicked!')}}
    ]);
    Parameter Type Description
    items Array.<Object> | String | HTMLElement items of the menu return {ui.Menu} this

  • getItems() [source]

  • Get items of the menu.
    Returns:
    Array.<Object>|String|HTMLElement: - items of the menu
  • (protected) buildOn() [source]

  • Create the menu DOM.
    Returns:
    HTMLElement: menu's DOM
  • (inherited) addTo(owner) [source]

  • Adds the UI Component to a geometry or a map
    Parameter Type Description
    owner Geometry | Map geometry or map to addto.
    Fires:
    Returns:
    ui.UIComponent: this
  • (inherited) getMap() [source]

  • Get the map it added to
    Inherited From:
    Returns:
    Map: map instance
  • (inherited) show(coordinateopt) [source]

  • Show the UI Component, if it is a global single one, it will close previous one.
    Parameter Type Default Description
    coordinate opt Coordinate null coordinate to show, default is owner's center
    Inherited From:
    Fires:
    Returns:
    ui.UIComponent: this
  • (inherited) hide() [source]

  • Hide the UI Component.
    Inherited From:
    Fires:
    Returns:
    ui.UIComponent: this
  • (inherited) isVisible() [source]

  • Decide whether the ui component is open
    Inherited From:
    Returns:
    Boolean: true|false
  • (inherited) remove() [source]

  • Remove the UI Component
    Inherited From:
    Fires:
    Returns:
    ui.UIComponent: this
  • (inherited) getSize() [source]

  • Get pixel size of the UI Component.
    Inherited From:
    Returns:
    Size: size
  • (inherited) on(eventsOn, handler, contextopt) [source]

  • Register a handler function to be called whenever this event is fired.
    foo.on('mousedown mousemove mouseup', onMouseEvent, foo);
    Parameter Type Default Description
    eventsOn String event types to register, seperated by space if more than one.
    handler function handler function to be called
    context opt Object null the context of the handler
    Mixes From:
    Inherited From:
    Returns:
    Any: this
  • (inherited) addEventListener(eventTypes, handler, contextopt) [source]

  • Alias for on
    Parameter Type Default Description
    eventTypes String event types to register, seperated by space if more than one.
    handler function handler function to be called
    context opt Object null the context of the handler
    Mixes From:
    Inherited From:
    Returns:
    : this
  • (inherited) once(eventTypes, handler, contextopt) [source]

  • Same as on, except the listener will only get fired once and then removed.
    foo.once('mousedown mousemove mouseup', onMouseEvent, foo);
    Parameter Type Default Description
    eventTypes String event types to register, seperated by space if more than one.
    handler function listener handler
    context opt Object null the context of the handler
    Mixes From:
    Inherited From:
    Returns:
    : this
  • (inherited) off(eventsOff, handler, contextopt) [source]

  • Unregister the event handler for the specified event types.
    foo.off('mousedown mousemove mouseup', onMouseEvent, foo);
    Parameter Type Default Description
    eventsOff String event types to unregister, seperated by space if more than one.
    handler function listener handler
    context opt Object null the context of the handler
    Mixes From:
    Inherited From:
    Returns:
    : this
  • (inherited) removeEventListener(eventTypes, handler, contextopt) [source]

  • Alias for off
    Parameter Type Default Description
    eventTypes String event types to unregister, seperated by space if more than one.
    handler function listener handler
    context opt Object null the context of the handler
    Mixes From:
    Inherited From:
    Returns:
    : this
  • (inherited) listens(eventType, hanlderopt, contextopt) [source]

  • Returns listener's count registered for the event type.
    Parameter Type Default Description
    eventType String an event type
    hanlder opt function null listener function
    context opt Object null the context of the handler
    Mixes From:
    Inherited From:
    Returns:
    Number:
  • (inherited) copyEventListeners(target) [source]

  • Copy all the event listener to the target object
    Parameter Type Description
    target Object target object to copy to.
    Mixes From:
    Inherited From:
    Returns:
    : this
  • (inherited) fire(eventType, param) [source]

  • Fire an event, causing all handlers for that event name to run.
    Parameter Type Description
    eventType String an event type to fire
    param Object parameters for the listener function.
    Mixes From:
    Inherited From:
    Returns:
    : this
  • (inherited) callInitHooks() [source]

  • Visit and call all the init hooks defined on Class and its parents.
    Inherited From:
    Returns:
    Class: this
  • (inherited) setOptions(options) [source]

  • Merges options with the default options of the object.
    Parameter Type Description
    options Object options to set
    Inherited From:
    Returns:
    Class: this
  • (inherited) config(conf) [source]

  • 1. Return object's options if no parameter is provided.
    2. update an option and enable/disable the handler if a handler with the same name existed.
    // Get marker's options;
    var options = marker.config();
    // Set map's option "draggable" to false and disable map's draggable handler.
    map.config('draggable', false);
    // You can update more than one options like this:
    map.config({
        'scrollWheelZoom' : false,
        'doubleClickZoom' : false
    });
    Parameter Type Description
    conf Object config to update
    Inherited From:
    Returns:
    Class: this
  • (inherited) onConfig() [source]

  • Default callback when config is called
    Inherited From:

    Events

  • (inherited) add [source]

  • add event.
    Inherited From:
    Properties:
    Name Type Description
    type String add
    target ui.UIComponent UIComponent
    Inherited From:
    Source:

  • (inherited) showstart [source]

  • showstart event.
    Inherited From:
    Properties:
    Name Type Description
    type String showstart
    target ui.UIComponent UIComponent
    Inherited From:
    Source:

  • (inherited) showend [source]

  • showend event.
    Inherited From:
    Properties:
    Name Type Description
    type String showend
    target ui.UIComponent UIComponent
    Inherited From:
    Source:

  • (inherited) hide [source]

  • hide event.
    Inherited From:
    Properties:
    Name Type Description
    type String hide
    target ui.UIComponent UIComponent
    Inherited From:
    Source:

  • (inherited) remove [source]

  • remove event.
    Inherited From:
    Properties:
    Name Type Description
    type String remove
    target ui.UIComponent UIComponent
    Inherited From:
    Source: