@syncfusion/ej2-maps
Version:
The Maps component is used to visualize the geographical data and represent the statistical data of a particular geographical area on earth with user interactivity, and provides various customizing options
893 lines (866 loc) • 24.3 kB
TypeScript
/**
* Maps interfaces doc
*/
import { Maps, FontModel, BorderModel } from '../../index';
import { Size } from '../utils/helper';
import { LayerSettingsModel, MarkerSettingsModel, DataLabelSettingsModel, ShapeSettingsModel, MarkerType, LegendShape, Annotation, MarkerClusterSettingsModel } from '../index';
import { ToolLocationModel, TextStyleModel } from '@syncfusion/ej2-svg-base';
/**
* Specifies the event arguments for the maps.
*
* @private
*/
export interface IMapsEventArgs {
/** Defines the name of the event. */
name: string;
/** Specifies the cancel state for the event. The default value is false. If set as true, the event progress will be stopped. */
cancel: boolean;
}
/**
* Specifies the event arguments for print event in maps.
*/
export interface IPrintEventArgs extends IMapsEventArgs {
/**
* Specifies the HTML content that is printed. The HTML content returned is usually the id string of the maps.
*/
htmlContent: Element;
}
/**
* This class contains the minimum and maximum latitude and longitude coordinates of the map's visible area
*/
export interface IMinMaxLatitudeLongitude {
/**
* Gets the minimum latitude value from the visible map area.
*/
minLatitude: number;
/**
* Gets the maximum latitude value from the visible map area.
*/
maxLatitude: number;
/**
* Gets the minimum longitude value from the visible map area.
*/
minLongitude: number;
/**
* Gets the maximum longitude value from the visible map area.
*/
maxLongitude: number;
}
/**
* Specifies the event arguments for the loaded event in maps.
*/
export interface ILoadedEventArgs extends IMinMaxLatitudeLongitude, IMapsEventArgs {
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
/**
* Defines whether the maps is resized or not.
*/
isResized: boolean;
}
/**
* Specifies the event argument of the load event in maps.
*/
export interface ILoadEventArgs extends IMapsEventArgs {
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
}
/**
* Specifies the event arguments for the data-label event in maps.
*/
export interface IDataLabelArgs extends IMapsEventArgs {
/**
* Defines the current maps instance.
*
*/
maps: Maps;
/**
* Defines the data label instance in maps.
*/
dataLabel: DataLabelSettingsModel;
}
/**
* Specifies the event arguments for mouse event in maps.
*/
export interface IMouseEventArgs extends IMapsEventArgs {
/** Defines the current mouse event target id. */
target: string;
/** Defines the current mouse x location in pixels. */
x: number;
/** Defines the current mouse y location in pixels. */
y: number;
/** Defines the current latitude value of maps location. */
latitude?: number;
/** Defines the current longitude value of maps location */
longitude?: number;
/** Specifies whether the shape is selected or not in the maps. */
isShapeSelected?: boolean;
}
/**
* Specifies the event arguments for mouseMove event in the Maps.
*/
export interface IMouseMoveEventArgs {
/** Gets the current horizontal position value of the location over which the mouse pointer is moved. */
x: number;
/** Gets the current vertical position value of the location over which the mouse pointer is moved. */
y: number;
/** Gets the current latitude value of the location over which the mouse pointer is moved. */
latitude?: number;
/** Gets the current longitude value of the location over which the mouse pointer is moved. */
longitude?: number;
/** Gets the current target element over which the mouse is positioned on the Maps. */
target?: Element;
}
/**
* Specifies the location using geographical coordinates in maps.
*/
export interface GeoPosition {
/** Specifies the latitude value for the maps location. */
latitude?: number;
/** Specifies the longitude value for the maps location. */
longitude?: number;
}
/**
* Specifies the event arguments for tooltip render event in maps.
*/
export interface ITooltipRenderCompleteEventArgs extends IMapsEventArgs {
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
/**
* Defines the current tooltip element.
*/
element: Element;
/**
* Defines the options of the tooltip.
*/
options: Object;
}
/**
* Specifies the event arguments for the resize event in maps.
*/
export interface IResizeEventArgs extends IMapsEventArgs {
/** Defines the size of the maps before the resize event. */
previousSize: Size;
/** Defines the size of the maps after the resize event. */
currentSize: Size;
/**
* Defines the current maps instance.
*
*/
maps: Maps;
}
/** @private */
export interface IFontMapping {
size?: string;
color?: string;
fontWeight?: string;
fontStyle?: string;
fontFamily?: string;
}
/** @private */
export interface MapsTooltipOption {
location?: ToolLocationModel;
text?: string[];
data?: Object;
textStyle?: TextStyleModel;
template?: string | Function;
}
/**
* Specifies the event arguments for tooltip render event in maps.
*/
export interface ITooltipRenderEventArgs extends IMapsEventArgs {
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
/**
* Defines the content of the tooltip.
*/
content?: string | HTMLElement;
/**
* Defines the options of the tooltip.
*/
options?: Object;
/**
* Defines the style of text for the tooltip.
*/
textStyle?: FontModel;
/**
* Defines the settings of the border for the tooltip.
*/
border?: BorderModel;
/**
* Defines the color of the tooltip.
*/
fill?: string;
/**
* Defines the data in tooltip.
*/
data?: Object;
/**
* Defines the current tooltip element.
*/
element: Element;
/**
* Defines the original mouse event arguments.
*/
eventArgs?: PointerEvent;
/**
* Defines the latitude value of the position of the mouse pointer.
*/
latitude?: number;
/**
* Defines the longitude value of the position of the mouse pointer.
*/
longitude?: number;
}
/**
* Specifies the event arguments for item selection event in maps.
*/
export interface ISelectionEventArgs extends IMapsEventArgs {
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
/**
* Defines the color while selecting the shape in maps.
*/
fill?: string;
/**
* Defines the opacity for the selected shape.
*/
opacity?: number;
/**
* Defines the settings of the border for the selected shape in maps.
*/
border?: BorderModel;
/**
* Defines target id of current mouse event.
*/
target?: string;
/**
* Defines the data from GeoJSON data for the current shape.
*/
shapeData?: Object;
/**
* Defines the data from the data source for the current shape or marker.
*/
data?: Object;
}
/**
* Specifies the event arguments for shape selected event in maps.
*/
export interface IShapeSelectedEventArgs extends IMapsEventArgs {
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
/**
* Defines the color for the selected shape in maps.
*/
fill?: string;
/**
* Defines the opacity for the selected shape in maps.
*/
opacity?: number;
/**
* Defines the settings of the border for the selected shape in maps.
*/
border?: BorderModel;
/**
* Defines the data from the GeoJSON data for the currently selected shape.
*/
shapeData?: Object;
/**
* Defines the data from the data source for the currently selected shape.
*/
data?: Object;
/** Defines the id string of the target of the current mouse event. */
target?: string;
/**
* Returns the details of the shapes which are in selected state during multiple selection.
*/
shapeDataCollection?: Object;
}
/** @private */
export interface ITouches {
pageX?: number;
pageY?: number;
pointerId?: number;
}
/** @private */
export interface IShapes {
renderOption?: Object;
functionName?: string;
}
/**
* Specifies the event arguments for layer rendering event in maps.
*/
export interface ILayerRenderingEventArgs extends IMapsEventArgs {
/**
* Defines the layer index in event argument.
*/
index?: number;
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
/**
* Defines the options to customize the layers in event argument.
*
*/
layer?: LayerSettingsModel;
/**
* Enables or disables the visibility of layer in event argument.
*/
visible?: boolean;
}
/**
* Specifies the event arguments in shape rendering event in maps.
*/
export interface IShapeRenderingEventArgs extends IMapsEventArgs {
/**
* Defines the index value of the shape rendering in the maps.
*/
index?: number;
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
/**
* Defines the current shape settings.
*/
shape?: ShapeSettingsModel;
/**
* Defines the color for the current shape.
*/
fill?: string;
/**
* Defines the settings of the border for the current shape.
*/
border?: BorderModel;
/**
* Defines the data from the data source for the shape which is being currently rendered.
*/
data?: Object;
}
/**
* Specifies the event arguments in marker rendering event in maps.
*/
export interface IMarkerRenderingEventArgs extends IMapsEventArgs {
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
/**
* Defines the marker instance.
*/
marker?: MarkerSettingsModel;
/**
* Defines the color of the marker which is currently rendered.
*/
fill?: string;
/**
* Defines the height of the marker which is currently rendered.
*/
height?: number;
/**
* Defines the width of the marker which is currently rendered.
*/
width?: number;
/**
* Defines the shape of the marker which is currently rendered.
*/
shape?: MarkerType;
/**
* Defines the URL path for the marker when rendered as image.
*/
imageUrl?: string;
/**
* Defines the template of the marker.
*
* @aspType string
*/
template?: string | Function;
/**
* Defines the settings of the border for the marker.
*/
border?: BorderModel;
/**
* Defines the current marker data from the marker data source in maps.
*/
data?: Object;
/**
* Defines the field name from the marker data source to set the color from the marker data source.
*/
colorValuePath?: string;
/**
* Defines the field name from the marker data source to set the marker shape from the marker data source.
*/
shapeValuePath?: string;
/**
* Defines the field name from the marker data source to set the marker image from the marker data source.
*/
imageUrlValuePath?: string;
}
/**
* Specifies the event arguments for marker cluster rendering event in maps.
*/
export interface IMarkerClusterRenderingEventArgs extends IMapsEventArgs {
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
/**
* Defines the marker cluster instance.
*/
cluster?: MarkerClusterSettingsModel;
/**
* Defines the color of the marker cluster.
*/
fill?: string;
/**
* Defines the height of the marker cluster.
*/
height?: number;
/**
* Defines the width of the marker cluster.
*/
width?: number;
/**
* Defines the shape of the marker cluster.
*/
shape?: MarkerType;
/**
* Defines the URL path for rendering image as marker cluster.
*/
imageUrl?: string;
/**
* Defines the settings of the border of the marker cluster.
*/
border?: BorderModel;
/**
* Defines the data from marker data source for the marker cluster in maps.
*/
data?: Object;
}
/**
* Specifies the event arguments for marker click event in maps.
*/
export interface IMarkerClickEventArgs extends IMouseEventArgs {
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
/**
* Defines the marker instance in event argument.
*/
marker?: MarkerSettingsModel;
/**
* Defines the name for a marker.
*/
value: string;
/**
* Defines the data from the marker data source for the marker that is clicked.
*/
data?: Object;
}
/**
* Specifies the event arguments for marker click event in maps.
*/
export interface IMarkerDragEventArgs {
/** Defines the name of the event. */
name: string;
/** Defines the current x position of the mouse pointer when dragging is performed. */
x: number;
/** Defines the current y position of the mouse pointer when dragging is performed. */
y: number;
/** Defines the current latitude number of the marker with which the dragging operation is performed. */
latitude: number;
/** Defines the current longitude number of the marker with which the dragging operation is performed. */
longitude: number;
/** Defines the index of the layer in which the current marker is associated. */
layerIndex: number;
/** Defines the index of the marker settings in which the current marker is associated. */
markerIndex: number;
/** Defines the index of the current marker data from the entire data source. */
dataIndex: number;
}
/**
* Specifies the event arguments for marker move event in maps.
*/
export interface IMarkerMoveEventArgs extends IMouseEventArgs {
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
/**
* Defines the data from the marker data source for the marker over which the mouse is moved.
*/
data?: Object;
}
/**
* Specifies the event arguments for the cluster click event in maps.
*/
export interface IMarkerClusterClickEventArgs extends IMouseEventArgs {
/**
* Defines the data from marker data source for the currently clicked marker.
*/
data?: Object;
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
/**
* Defines the collection of markers in a cluster.
*/
markerClusterCollection?: Object;
}
/**
* Specifies the event arguments for marker cluster move event in maps.
*/
export interface IMarkerClusterMoveEventArgs extends IMouseEventArgs {
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
/**
* Defines the data from marker data source for the currently clicked marker.
*/
data?: Object;
}
/**
* Specifies the event argument for label rendering event in maps.
*/
export interface ILabelRenderingEventArgs extends IMapsEventArgs {
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
/**
* Defines the text of the data-label which is being currently rendered.
*/
text: string;
/**
* Defines the right and left position of text for the data-label.
*/
offsetX: number;
/**
* Defines the top and bottom position of text for the data-label.
*/
offsetY: number;
/**
* Defines the settings of the border of the data-label.
*/
border: BorderModel;
/**
* Defines the color of the data-label.
*/
fill: string;
/**
* Defines the template for the data-label.
*
* @aspType string
*/
template: string | Function;
/**
* Defines the instance of the data-label.
*/
datalabel?: DataLabelSettingsModel;
}
/**
* Specifies the event arguments for bubble rendering event in maps.
*/
export interface IBubbleRenderingEventArgs extends IMapsEventArgs {
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
/**
* Defines the color of the bubble in event argument.
*/
fill?: string;
/**
* Defines the settings of the border of the bubble in event argument.
*/
border?: BorderModel;
/**
* Defines the center x position of the current bubble.
*/
cx?: number;
/**
* Defines the center Y position of the current bubble.
*/
cy?: number;
/**
* Defines the radius of the current bubble.
*/
radius?: number;
/**
* Defines the data of the current bubble from data source.
*/
data?: Object;
}
/**
* Specifies the event argument for bubble click event in maps.
*/
export interface IBubbleClickEventArgs extends IMouseEventArgs {
/**
* Defines the maps instance in event argument.
*
*/
maps?: Maps;
/**
* Defines the current data from the data source of the bubble in event argument.
*/
data?: Object;
}
/**
* Specifies the event argument for bubble mouse move event in maps.
*/
export interface IBubbleMoveEventArgs extends IMouseEventArgs {
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
/**
* Defines the data from the data source for the current bubble on which the mouse has hovered.
*/
data?: Object;
}
/**
* Specifies the event arguments for animation complete event in maps.
*/
export interface IAnimationCompleteEventArgs extends IMapsEventArgs {
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
/**
* Defines the type of animation element in event argument.
*/
element: string;
}
/**
* Specifies the event arguments for the legend rendering event in maps.
*/
export interface ILegendRenderingEventArgs extends IMapsEventArgs {
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
/**
* Defines the color for the shape of legend in event argument.
*/
fill?: string;
/**
* Defines the options for customizing the border of the shape in legend.
*/
shapeBorder?: BorderModel;
/**
* Defines the shape of the current legend item in maps.
*/
shape?: LegendShape;
/**
* Defines the text of the current legend item.
*/
text?: string | string[];
}
/**
* Specifies the event arguments for annotation rendering event in maps.
*/
export interface IAnnotationRenderingEventArgs extends IMapsEventArgs {
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
/**
* Defines the content of the annotation which is being rendered.
*
* @aspType string
*/
content?: string | Function;
/**
* Specifies the annotation instance.
*/
annotation?: Annotation;
}
/**
* Specifies the event arguments for the pan event in maps.
*/
export interface IMapPanEventArgs extends IMinMaxLatitudeLongitude, IMapsEventArgs {
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
/**
* Defines the translate point of the online map providers.
*/
tileTranslatePoint?: Object;
/**
* Defines the translate point of the geometry map.
*/
translatePoint?: Object;
/**
* Defines the zoom level of the online map providers.
*/
tileZoomLevel?: number;
/**
* Defines the scale value of the geometry maps.
*/
scale?: number;
/**
* Defines the latitude value of the maps on pan event.
*/
latitude: number;
/**
* Defines the longitude value of the maps on pan event.
*/
longitude: number;
}
/**
* Specifies the event arguments for zoom event in maps.
*/
export interface IMapZoomEventArgs extends IMinMaxLatitudeLongitude, IMapsEventArgs {
/**
* Defines the current maps instance.
*
*/
maps?: Maps;
/**
* Defines the type of zoom interaction.
*/
type: string;
/**
* Defines the translate point of the online map providers.
*/
tileTranslatePoint?: Object;
/**
* Defines the translate point of the geometry map.
*/
translatePoint?: Object;
/**
* Defines the zoom level for the tile maps.
*/
tileZoomLevel?: Object;
/**
* Defines the scale value of the geometry maps.
*/
scale?: Object;
}
/**
* Specifies the theme style for maps.
*
* @private
*/
export interface IThemeStyle {
/** Specifies the background color for the maps based on theme style. */
backgroundColor: string;
/** Specifies the area background color for the maps based on theme style */
areaBackgroundColor: string;
/** Specifies the font color for the title of maps. */
titleFontColor: string;
/** Specifies the font color for the sub title of the maps. */
subTitleFontColor: string;
/** Specifies the font color for the title of legend in maps. */
legendTitleFontColor: string;
/** Specifies the color for the legend text in maps. */
legendTextColor: string;
/** Specifies the font color for the label in maps. */
dataLabelFontColor: string;
/** Specifies the font color for the tooltip in maps. */
tooltipFontColor: string;
/** Specifies the color of the tooltip in maps. */
tooltipFillColor: string;
/** Specifies the color for the zoom in maps. */
zoomFillColor: string;
/** Specifies the font-family for the maps. */
fontFamily?: string;
/** Specifies the font-family for the maps. */
fontSize?: string;
/** Specifies the font size for the title in maps. */
titleFontSize?: string;
/** Specifies the font size for the sub title and legend title in maps. */
subTitleFontSize?: string;
/** Specifies the font weight for the sub title and legend title in maps. */
fontWeight?: string;
/** Specifies the opacity for the tooltip in maps. */
tooltipFillOpacity?: number;
/** Specifies the text opacity for the tooltip in maps. */
tooltipTextOpacity?: number;
/** Specifies the font size for the legend in maps. */
legendFontSize?: string;
/** Specifies the font-family for the data label in maps. */
labelFontFamily?: string;
/** Specifies the font-weight for the data label in maps. */
titleFontWeight?: string;
/** Specifies the hover color for the zoom toolbar buttons in maps. */
zoomSelectionColor?: string;
/** Specifies the color for the shapes in the maps. */
shapeFill?: string;
/** Specifies the color of the border of the shapes in the maps. */
shapeBorderColor?: string;
/** Specifies the color by using rectangle zoom fill color in maps. */
rectangleZoomFillColor?: string;
/** Specifies the color by using rectangle zoom fill color in maps. */
rectangleZoomFillOpacity?: number;
/** Specifies the color by using rectangle zoom fill color in maps. */
rectangleZoomBorderColor?: string;
/** Specifies the color of the legend border in maps. */
legendBorderColor?: string;
/** Specifies the width of the legend border in maps. */
legendBorderWidth?: number;
/** Specifies the border color of the zoom toolbar buttons in maps. */
zoomBorderColor?: string;
/** Specifies the border color of the tooltip in maps. */
tooltipBorderColor?: string;
/** Specifies the radius of the zoom buttons in maps. */
zoomButtonRadius: number;
}
/**
* Defines the template for the marker.
*/
export interface IDataTemplate {
/** Defines the latitude value for the template. */
latitude?: number;
/** Defines the longitude value for the template. */
longitude?: number;
/** Defines the name of a marker or data-label. */
name?: string;
/** Defines the continent name for data-label. */
continent?: string;
/** Defines the admin name for data-label. */
admin?: string;
/** Defines the population of bubble. */
Population?: number;
/** Defines the name of country. */
Country?: string;
/** Defines the Text of any string. */
text?: string[];
}