amap-jsapi-v2-types
Version:
高德 JSAPI v2 类型声明文件
153 lines (142 loc) • 4.92 kB
TypeScript
import type { Bounds } from '../common/Bounds';
import type { LngLat, LngLatLike } from '../common/LngLat';
import type { Line } from '../common/Geometry';
import type Map from '../Map';
import type Overlay from './Overlay';
export type PolylineOptions<ExtraData = any> = {
/**
* polyline 路径,支持 lineString 和 MultiLineString
*/
path?: Line | Line[];
/** 多边形覆盖物的叠加顺序。地图上存在多个多边形覆盖物叠加时,通过该属性使级别较高的多边形覆盖物在上层显示 默认zIndex:10 */
zIndex?: number;
/** 是否将覆盖物的鼠标或touch等事件冒泡到地图上(自v1.3 新增)默认值:false */
bubble?: boolean;
/** 指定鼠标悬停时的鼠标样式,自定义cursor,IE仅支持cur/ani/ico格式,Opera不支持自定义cursor */
cursor?: string;
/** 线条颜色,使用16进制颜色代码赋值。默认值为#006600 */
strokeColor?: string;
/** 轮廓线透明度,取值范围[0,1],0表示完全透明,1表示不透明。默认为0.9 */
strokeOpacity?: number;
/** 轮廓线宽度 */
strokeWeight?: number;
/** 轮廓线样式,实线:solid,虚线:dashed */
strokeStyle?: string;
/**
* 勾勒形状轮廓的虚线和间隙的样式,此属性在 strokeStyle 为dashed 时有效,此属性在 ie9+ 浏览器有效 取值:
* - 实线:[0,0,0]
* - 虚线:[10,10], [10,10] 表示10个像素的实线和10个像素的空白(如此反复)组成的虚线
* - 点画线:[10,2,10], [10,2,10] 表示10个像素的实线和2个像素的空白 + 10个像素的实线和10个像素的空白 (如此反复)组成的虚线
*/
strokeDasharray?: number[];
/** 是否显示描边,默认 `false` */
isOutline?: boolean;
/** 描边的宽度,默认为 `1` */
borderWeight?: number;
/** 线条描边颜色,此项仅在isOutline为true时有效 */
outlineColor?: string;
/** 折线拐点的绘制样式,默认值为'miter'尖角 */
lineJoin?: 'miter' | 'round' | 'bevel';
/** 折线两端线帽的绘制样式,默认值为 `butt` 无头 */
lineCap?: 'butt' | 'round' | 'square';
/** 是否绘制成大地线,默认false */
geodesic?: boolean;
/** 是否延路径显示白色方向箭头,默认false。建议折线宽度大于6时使用 */
showDir?: boolean;
/** 设置多边形是否可拖拽移动,默认为false */
draggable?: boolean;
/** 用户自定义属性,支持JavaScript API任意数据类型,如Polyline的id等 */
extData?: ExtraData;
// 以下为 3D mode 下生效
/** 设置 polygon 是否离地绘制,默认值为0 。 */
height?: number;
/** 要显示该polygon的地图对象 */
map?: Map;
/**
* 设置方向箭头的颜色
* @warning 文档中未明确说明,成功验证其存在性
*/
dirColor?: string;
/**
* 方向箭头的图片
* @warning 文档中未明确说明,成功验证其存在性
*/
dirImg?: string | HTMLCanvasElement;
/**
* @warning 文档中未明确说明,成功验证其存在性
*/
zooms?: [number, number];
};
export type PolylineEventType =
| 'hide'
| 'show'
| 'click'
| 'dblclick'
| 'rightclick'
| 'mousedown'
| 'mouseup'
| 'mouseover'
| 'mouseout'
| 'dragstart'
| 'dragging'
| 'dragend'
| 'touchstart'
| 'touchmove'
| 'touchend';
/**
* 构造多边形对象,通过PolylineOptions指定多边形样式
* https://lbs.amap.com/api/javascript-api-v2/documentation#polyline
*
* @warning 目前 Polyline 对 GeoJSON.MultiPolyline.coordinates 的支持非常不稳定。谨慎使用。
*/
export declare class Polyline<ExtraData = any> extends Overlay<
ExtraData,
PolylineEventType
> {
constructor(opts?: PolylineOptions<ExtraData>);
/**
* 获取折线路径的节点数组。
*/
getPath(): LngLat[] | LngLat[][];
/**
* 获取折线路径的节点数组。
*/
setPath(coords: Line | Line[]): void;
/**
* 销毁折线
*/
destroy(): void;
/**
* 获取折线的边界矩形区域
*/
getBounds(): Bounds;
/**
* 移动折线
* @warning 文档未明确说明
* @param {number} dx
* @param {number} dy
*/
moveWithPos(dx: number, dy: number): void;
/**
* 获取折线的总长度(单位:米)
* @param {boolean} isTerrain
*/
getLength(isTerrain: boolean): number;
/**
* 判断坐标是否在折线上
* @param {LngLatLike} point
* @returns {boolean}
*/
contains(point: LngLatLike): boolean;
/** 获取当前Polyline海拔高度值 (此方法适用于 JSAPI 2.1Beta 及以上版本) */
getPolylineHeight(): number;
/**
* @warning 文档中未明确说明,且未成功验证其存在性
**/
getEndDistance(...args: any[]): any;
/**
* @warning 文档中未明确说明,且未成功验证其存在性
**/
generateBuffer(...args: any[]): any;
}
export default Polyline;