qqmap-gl-typings
Version:
731 lines (604 loc) • 20.8 kB
TypeScript
declare namespace TMap {
type MultiPolylineEvtName =
| 'click'
| 'dblclick'
| 'rightclick'
| 'mousedown'
| 'mouseup'
| 'mousemove'
| 'mouseover'
| 'mouseout'
| 'hover'
| 'touchstart'
| 'touchmove'
| 'touchend';
/**
* 表示地图上的多个折线, 可以自定义每个折线的样式
*/
class MultiPolyline implements MultiPolylineOptions {
constructor(options: MultiPolylineOptions);
/**
* 设置地图对象, 如果 map 为 null 意味着将多折线同时从地图中移除
*/
setMap(map: Map | null): MultiPolyline;
/**
* 设置图层绘制顺序
*/
setZIndex(zIndex: number): MultiPolyline;
/**
* 更新折线数据, 如果参数为 null 或 undefined 不会做任何处理
*/
setGeometries(geometries?: PolylineGeometry[] | null): MultiPolyline;
/**
* 设置 MultiPolyline 图层相关样式信息, 如果参数为 null 或 undefined 不会做任何处理
*/
setStyles(styles?: MultiPolylineStyleHash | null): MultiPolyline;
/**
* 设置图层是否可见
*/
setVisible(visible: boolean): MultiPolyline;
/**
* 获取地图对象, 若为空返回 null
*/
getMap(): Map | null;
/**
* 获取折线数据
*/
getGeometries(): PolylineGeometry[];
/**
* 获取图层相关样式信息
*/
getStyles(): MultiPolylineStyleHash;
/**
* 获取可见状态
*/
getVisible(): boolean;
/**
* 获取图层绘制顺序
*/
getZIndex(): number;
/**
* 获取图层的 id
*/
getId(): MultiPolyline;
/**
* 根据折线数据 id 来获取点数据
*/
getGeometryById(id: string): PolylineGeometry;
/**
* 更新折线数据, 如果 geometry 的 id 存在于集合中, 会更新对应id的数据,
* 如果之前不存在于集合中, 会作为新的折线添加到集合中,
* 如果参数为 null 或 undefined 不会做任何处理
*/
updateGeometries(geometry?: PolylineGeometry[] | null): MultiPolyline;
/**
* 向图层中添加折线, 如果 geometry 的 id 已经存在集合中,
* 则该 geometry 不会被重复添加, 如果 geometry 没有 id 或者 id 不存在于集合中会被添加到集合,
* 没有 id 的 geometry 会被赋予一个唯一 id, 如果要添加到集合中的折线存在重复 id,
* 这些折线会被重新分配 id, 如果参数为 null 或 undefined 不会做任何处理
*/
add(geometries?: PolylineGeometry[] | null): MultiPolyline;
/**
* 移除指定 id 的折线, 如果参数为 null 或 undefined 不会做任何处理
*/
remove(ids?: string[] | null): MultiPolyline;
/**
* 添加listener到eventName事件的监听器数组中
*/
on(
eventName: MultiPolylineEvtName,
listener: (evt: GeometryOverlayEvent) => void
): MultiPolyline;
/**
* 从 eventName 事件的监听器数组中移除指定的 listener
*/
off(
eventName: MultiPolylineEvtName,
listener: (evt: GeometryOverlayEvent) => void
): MultiPolyline;
}
type MultiPolylineStyleHash = Record<string, PolylineStyle>;
/**
* 表示应用于折线图层的样式类型
*/
class PolylineStyle implements PolylineStyleOptions {
constructor(options: PolylineStyleOptions);
}
/**
* 折线数据
*/
interface PolylineGeometry {
/**
* 折线图形数据的标志信息, 不可重复, 若id重复后面的id会被重新分配一个新id, 若没有会随机生成一个
*/
id: string;
/**
* 对应 MultiPolylineStyleHash 中的样式 id, 如果样式表中没有包含 geometry 指定的 styleId, 则该 geometry 不会被绘制出来
*/
styleId: string;
/**
* 折线的位置信息, 可以传入 [latLng1, latLng2, latLng3] 表示一条折线,
* 另外一条折线可能由多个不相连的线组成一个逻辑单位, 如: [[latLng1, latLng2, latLng3], [latLng4, latLng5, latLng6]]
*/
paths: LatLng[] | LatLng[][];
/**
* 多颜色折线的信息
*/
rainbowPaths: {
path: latLng[];
color?: string;
borderColor?: string;
}[];
/**
* 折线的属性数据
*/
properties: Record<string, any>;
}
type MultiPloygonEvtName =
| 'click'
| 'dblclick'
| 'mousedown'
| 'mouseup'
| 'mousemove'
| 'hover'
| 'touchstart'
| 'touchmove'
| 'touchend';
/**
* 表示地图上的多个多边形,可以自定义每个多边形的样式
*/
class MultiPolygon implements MultiPolygonOptions {
constructor(options: MultiPolygonOptions);
/**
* 设置地图对象, 如果 map 为 null 意味着将多多边形同时从地图中移除
*/
setMap(map: Map | null): MultiPolygon;
/**
* 设置图层绘制顺序
*/
setZIndex(zIndex: number): MultiPolygon;
/**
* 更新多边形数据, 如果参数为 null 或 undefined 不会做任何处理
*/
setGeometries(geometries?: PolygonGeometry[] | null): MultiPolygon;
/**
* 设置 MultiPolygon 图层相关样式信息, 如果参数为 null 或 undefined 不会做任何处理
*/
setStyles(styles?: MultiPolygonStyleHash | null): MultiPolygon;
/**
* 设置图层是否可见
*/
setVisible(visible: boolean): MultiPolygon;
/**
* 获取地图对象, 若为空返回 null
*/
getMap(): Map | null;
/**
* 获取多边形数据
*/
getGeometries(): PolygonGeometry[];
/**
* 获取图层相关样式信息
*/
getStyles(): MultiPolygonStyleHash;
/**
* 获取可见状态
*/
getVisible(): boolean;
/**
* 获取图层绘制顺序
*/
getZIndex(): number;
/**
* 获取图层的 id
*/
getId(): MultiPolygon;
/**
* 根据多边形数据 id 来获取点数据
*/
getGeometryById(id: string): PolygonGeometry;
/**
* 更新多边形数据, 如果 geometry 的 id 存在于集合中, 会更新对 id 的数据, 如果之前不存在于集合中, 会作为新的多边形添加到集合中, 如果参数为 null 或 undefined 不会做任何处理
*/
updateGeometries(geometry?: PolygonGeometry[] | null): MultiPolygon;
/**
* 向图层中添加多边形, 如果 geometry 的 id 已经存在集合中,
* 则该 geometry 不会被重复添加, 如果 geometry 没有 id 或者 id 不存在于集合中会被添加到集合,
* 没有 id 的 geometry 会被赋予一个唯一id, 如果要添加到集合中的多边形存在重复id,
* 这些多边形会被重新分配id, 如果参数为 null 或 undefined 不会做任何处理
*/
add(geometries?: PolygonGeometry[] | null): MultiPolygon;
/**
* 移除指定 id 的多边形, 如果参数为 null 或 undefined 不会做任何处理
*/
remove(ids?: string[] | null): MultiPolygon;
/**
* 添加 listener 到 eventName 事件的监听器数组中
*/
on(
eventName: MultiPloygonEvtName,
listener: (evt: GeometryOverlayEvent) => void
): MultiPolygon;
/**
* 从 eventName 事件的监听器数组中移除指定的 listener
*/
off(
eventName: MultiPloygonEvtName,
listener: (evt: GeometryOverlayEvent) => void
): MultiPolygon;
}
type MultiPolygonStyleHash = Record<
string,
PolygonStyle | ExtrudablePolygonStyle
>;
class PolygonStyle implements PolygonStyleOptions {
constructor(options: PolygonStyleOptions);
}
/**
* 表示应用于有立体拉伸需求的多边形的样式类型,
* 拔起面块的边线不支持设置宽度永远为 1 像素宽度
*/
class ExtrudablePolygonStyle implements ExtrudablePolygonStyleOptions {
constructor(options: ExtrudablePolygonStyleOptions);
}
/**
* 多边形数据
*/
interface PolygonGeometry {
/**
* 多边形图形数据的标志信息, 不可重复,
* 若 id 重复后面的 id 会被重新分配一个新id,
* 若没有会随机生成一个
*/
id: string;
/**
* 对应 MultiPolygonStyleHash 中的样式 id,
* 如果样式表中没有包含 geometry 指定的 styleId,
* 则该 geometry 不会被绘制出来
*/
styleId: string;
/**
* 多边形的位置信息, 可以传入 [latLng1, latLng2, latLng3, latLng5, latLng1] 这种简单多边形,
* 也可以传入带洞多边形 [[latLng1, latLng2, latLng3, latLng5, latLng1], [latLng6, latLng8, latLng9, latLng6], [latLng10, latLng11, latLng10]]
* 这个多边形包含一个外环 [latLng1, latLng2, latLng3, latLng5, latLng1] 和两个洞 [latLng6, latLng8, latLng9, latLng6], [latLng10, latLng11, latLng10],
* 另外一个多边形可能有多个不相邻的多边形组成一个逻辑主体, 比如南沙群岛就是由多个分离的多边形组成一个主体, 一个岛屿可能存在多个岛中湖形成带洞多边形,
* 示例: [[[latLng1, latLng2, latLng3, latLng5, latLng1], [latLng6, latLng8, latLng9, latLng6], [latLng10, latLng11, latLng10]], [[latLng11, latLng12, latLng13, latLng14, latLng11]], [[latLng15, latLng16, latLng17, latLng18, latLng15]]],
* 这个多边形主体中包含了三个多边形, 其中第一个多边形包含一个外环 [latLng1, latLng2, latLng3, latLng5, latLng1] 和两个洞 [latLng6, latLng8, latLng9, latLng6], [latLng10, latLng11, latLng10],
* 第二和第三个多边形都是不带洞的简单多边形
*/
paths: LatLng[] | LatLng[][] | LatLng[][][];
/**
* 多边形的图层内绘制顺序
*/
rank: number;
/**
* 多边形的属性数据
*/
properties: Record<string, any>;
}
/**
* 表示地图上的多个矩形, 可以自定义每个矩形的样式
*/
class MultiRectangle {
constructor(options: MultiRectangleOptions);
/**
* 设置地图对象, 如果 map 为 null 意味着将多矩形同时从地图中移除
*/
setMap(map: Map | null): this;
/**
* 设置图层绘制顺序
*/
setZIndex(zIndex: number): this;
/**
* 更新多矩形数据, 如果参数为 null 或 undefined 不会做任何处理
*/
setGeometries(geometries?: RectangleGeometry[] | null): this;
/**
* 设置 MultiRectangle 图层相关样式信息, 如果参数为 null 或 undefined 不会做任何处理
*/
setStyles(styles?: MultiRectangleStyleHash | null): this;
/**
* 设置图层是否可见
*/
setVisible(visible: boolean): this;
/**
* 获取地图对象, 若为空返回 null
*/
getMap(): Map | null;
/**
* 获取多矩形数据
*/
getGeometries(): RectangleGeometry[];
/**
* 获取图层相关样式信息
*/
getStyles(): MultiRectangleStyleHash;
/**
* 获取可见状态
*/
getVisible(): boolean;
/**
* 获取图层绘制顺序
*/
getZIndex(): number;
/**
* 根据多矩形数据 id 来获取点数据
*/
getGeometryById(id: string): RectangleGeometry;
/**
* 更新多矩形数据, 如果geometry的id存在于集合中,
* 会更新对 id 的数据, 如果之前不存在于集合中, 会作为新的矩形添加到集合中,
* 如果参数为 null 或 undefined 不会做任何处理
*/
updateGeometries(geometry?: RectangleGeometry[] | null): this;
/**
* 向图层中添加矩形, 如果 geometry 的 id 已经存在集合中,
* 则该 geometry 不会被重复添加, 如果 geometry 没有 id 或者 id 不存在于集合中会被添加到集合,
* 没有 id 的 geometry 会被赋予一个唯一 id, 如果要添加到集合中的多边形存在重复 id, 这些多边形会被重新分配 id,
* 如果参数为 null 或 undefined 不会做任何处理
*/
add(geometries?: RectangleGeometry[] | null): this;
/**
* 移除指定 id 的矩形, 如果参数为 null 或 undefined 不会做任何处理
*/
remove(ids?: string[] | null): this;
destroy(): void;
/**
* 根据 geometry 获取矩形的左下角和右上角顶点经纬度坐标
*/
static getBounds(geometry: RectangleGeometry): LatLngBounds;
}
type MultiRectangleStyleHash = Record<string, RectangleStyle>;
/**
* 表示应用于矩形图层的样式类型
*/
class RectangleStyle implements RectangleStyleOptions {
constructor(options: RectangleStyleOptions);
}
/**
* 多矩形数据
*/
interface RectangleGeometry {
/**
* 多矩形图形数据的标志信息, 不可重复,
* 若 id 重复后面的id会被重新分配一个新 id, 若没有会随机生成一个
*/
id: string;
/**
* 对应 MultiRectangleStyleHash 中的样式 id, 如果样式表中没有包含 geometry 指定的 styleId, 则该 geometry 不会被绘制出来
*/
styleId?: string;
/**
* 矩形的中心点位置
*/
center?: LatLng;
/**
* 矩形的宽, 正数, 单位为米
*/
width?: number;
/**
* 矩形的高, 正数, 单位为米
*/
height?: number;
/**
* 矩形的属性数据
*/
properties?: Record<string, any>;
/**
* 矩形的图层内绘制顺序
*/
rank?: number;
}
/**
* 表示地图上的多个圆形, 可以自定义每个圆形的样式
*/
class MultiCircle {
constructor(options: MultiCircleOptions);
/**
* 设置地图对象, 如果 map 为 null 意味着将多圆同时从地图中移除
*/
setMap(map: Map | null): this;
/**
* 设置图层绘制顺序
*/
setZIndex(zIndex: number): this;
/**
* 更新多圆数据, 如果参数为 null 或 undefined 不会做任何处理
*/
setGeometries(geometries: CircleGeometry[] | null): this;
/**
* 设置 MultiCircle 图层相关样式信息, 如果参数为 null 或 undefined 不会做任何处理
*/
setStyles(styles?: MultiCircleStyleHash): this;
/**
* 设置图层是否可见
*/
setVisible(visible: boolean): this;
/**
* 获取地图对象, 若为空返回 null
*/
getMap(): Map | null;
/**
* 获取多圆数据
*/
getGeometries(): CircleGeometry[];
/**
* 获取图层相关样式信息
*/
getStyles(): MultiCircleStyleHash;
/**
* 获取可见状态
*/
getVisible(): boolean;
/**
* 获取图层绘制顺序
*/
getZIndex(): number;
/**
* 获取图层的 id
*/
getId(): MultiCircle;
/**
* 根据多圆数据 id 来获取点数据
*/
getGeometryById(id: string): CircleGeometry;
/**
* 更新多圆数据, 如果 geometry 的 id 存在于集合中, 会更新对 id 的数据,
* 如果之前不存在于集合中, 会作为新的圆添加到集合中, 如果参数为 null 或 undefined 不会做任何处理
*/
updateGeometries(geometry?: CircleGeometry[] | null): this;
/**
* 向图层中添加圆, 如果 geometry 的 id 已经存在集合中, 则该 geometry 不会被重复添加,
* 如果 geometry 没有 id 或者 id 不存在于集合中会被添加到集合,
* 没有 id 的 geometry 会被赋予一个唯一 id, 如果要添加到集合中的多边形存在重复 id,
* 这些多边形会被重新分配id, 如果参数为 null 或 undefined 不会做任何处理
*/
add(geometries?: CircleGeometry[] | null): this;
/**
* 移除指定 id 的圆, 如果参数为 null 或 undefined 不会做任何处理
*/
remove(ids?: string[] | null): this;
}
type MultiCircleStyleHash = Record<string, CircleStyle>;
interface CircleGeometry {
/**
* 多圆图形数据的标志信息, 不可重复,
* 若 id 重复后面的 id 会被重新分配一个新id,
* 若没有会随机生成一个
*/
id?: string;
/**
* 对应 MultiCircleStyleHash 中的样式 id,
* 如果样式表中没有包含 geometry 指定的 styleId,
* 则该 geometry 不会被绘制出来
*/
styleId?: string;
/**
* 圆的中心点位置
*/
center?: LatLng;
/**
* 圆的半径, 正数, 单位为米
*/
radius?: number;
/**
* 圆的属性数据
*/
properties?: Record<string, any>;
}
/**
* 表示应用于圆图层的样式类型
*/
class CircleStyle {
constructor(options: CircleStyleOptions);
}
/**
* 表示地图上的多个椭圆, 可以自定义每个椭圆的样式
*/
class MultiEllipse {
constructor(options: MultiEllipseOptions);
/**
* 设置地图对象, 如果 map 为 null 意味着将多椭圆同时从地图中移除
*/
setMap(map: Map | null): this;
/**
* 设置图层绘制顺序
*/
setZIndex(zIndex: number): MultiEllipse;
/**
* 更新多椭圆数据, 如果参数为 null 或 undefined 不会做任何处理
*/
setGeometries(geometries?: EllipseGeometry[]): this;
/**
* 设置 MultiEllipse 图层相关样式信息, 如果参数为 null 或 undefined 不会做任何处理
*/
setStyles(styles?: MultiEllipseStyleHash): this;
/**
* 设置图层是否可见
*/
setVisible(visible: boolean): this;
/**
* 获取地图对象, 若为空返回 null
*/
getMap(): Map | null;
/**
* 获取多椭圆数据
*/
getGeometries(): EllipseGeometry[];
/**
* 获取图层相关样式信息
*/
getStyles(): MultiEllipseStyleHash;
/**
* 获取可见状态
*/
getVisible(): boolean;
/**
* 获取图层绘制顺序
*/
getZIndex(): number;
/**
* 根据多椭圆数据 id 来获取点数据
*/
getGeometryById(id: string): EllipseGeometry;
/**
* 更新多椭圆数据, 如果 geometry 的 id 存在于集合中, 会更新对 id 的数据,
* 如果之前不存在于集合中, 会作为新的椭圆添加到集合中, 如果参数为 null 或 undefined 不会做任何处理
*/
updateGeometries(geometry?: EllipseGeometry[] | null): this;
/**
* 向图层中添加椭圆, 如果 geometry 的 id 已经存在集合中,
* 则该 geometry 不会被重复添加, 如果 geometry 没有 id 或者 id 不存在于集合中会被添加到集合,
* 没有 id 的 geometry 会被赋予一个唯一id, 如果要添加到集合中的多边形存在重复id,
* 这些多边形会被重新分配 id, 如果参数为 null 或 undefined 不会做任何处理
*/
add(geometries?: EllipseGeometry[] | null): this;
/**
* 移除指定 id 的椭圆, 如果参数为 null 或 undefined 不会做任何处理
*/
remove(ids?: string[] | null): this;
/**
* 销毁图层对象
*/
destroy();
}
type MultiEllipseStyleHash = Record<string, EllipseStyle>;
/**
* 表示应用于椭圆图层的样式类型
*/
class EllipseStyle implements EllipseStyleOptions {
constructor(options: EllipseStyleOptions);
}
interface EllipseGeometry {
/**
* 多椭圆图形数据的标志信息, 不可重复, 若 id 重复后面的 id 会被重新分配一个新 id,
* 若没有会随机生成一个
*/
id?: string;
/**
* 对应 MultiEllipseStyleHash 中的样式 id, 如果样式表中没有包含 geometry 指定的 styleId,
* 则该 geometry 不会被绘制出来
*/
styleId?: string;
/**
* 椭圆的中心点位置
*/
center?: LatLng;
/**
* 椭圆的主半径, 正数, 单位为米
*/
majorRadius?: number;
/**
* 椭圆的辅半径, 正数, 单位为米
*/
minorRadius?: number;
/**
* 椭圆的属性数据
*/
properties?: Record<string, any>;
/**
* 椭圆的图层内绘制顺序
*/
rank?: number;
}
}