generated from xyy94813/js-lib-template-repo
-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Polygon、Polyline、BezierCurve、Circle、CircleMarker、Ellipse、Rectangle
- Loading branch information
Showing
8 changed files
with
746 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
import Bounds from '../common/Bounds'; | ||
import type { LngLatLike } from '../common/LngLat'; | ||
import type Overlay from './Overlay'; | ||
|
||
export type BezierCurveOptions<ExtraData = any> = { | ||
/** | ||
* 描述为一个二维数组规则如下:第一个元素是起点, 之后的元素同时描述控制点和途经点,之后每个元素可以有0个到2个控制点 控制点在前,途经点在最后 | ||
* [ | ||
* [lng,lat], //起点0 | ||
* [lng,lat,lng,lat,lng,lat], //控制点、控制点、途经点2 | ||
* [lng,lat,lng,lat], //控制点、途经点3 | ||
* ] | ||
* 或者 | ||
* [ | ||
* [ [lng,lat] ],//起点0 | ||
* [ [lng,lat] , [lng,lat] ], //控制点、途经点1 | ||
* [ [lng,lat] , [lng,lat] , [lng,lat] ], //控制点、控制点、途经点2 | ||
* [ [lng,lat] , [lng,lat] ] // 控制点、途经点3 | ||
* ] | ||
*/ | ||
path?: number[][] | number[][][]; | ||
/** 多边形覆盖物的叠加顺序。 */ | ||
zIndex?: number; | ||
/** 是否将覆盖物的鼠标或touch等事件冒泡到地图上 */ | ||
bubble?: boolean; | ||
/** 指定鼠标悬停时的鼠标样式,自定义cursor,IE仅支持cur/ani/ico格式,Opera不支持自定义cursor */ | ||
cursor?: string; | ||
/** 线条颜色,使用16进制颜色代码赋值。默认值为#00D3FC */ | ||
strokeColor?: string; | ||
/** 轮廓线透明度,取值范围 [0,1]。默认为0.5 */ | ||
strokeOpacity?: number; | ||
/** 轮廓线宽度。默认为 2 */ | ||
strokeWeight?: number; | ||
/** 轮廓线样式,实线:solid,虚线:dashed */ | ||
strokeStyle?: string; | ||
/** 描边的宽度,默认为1 */ | ||
borderWeight?: number; | ||
/** 是否显示描边,默认false */ | ||
isOutline?: boolean; | ||
/** 线条描边颜色,此项仅在isOutline为true时有效,默认:#00B2D5 */ | ||
outlineColor?: string; | ||
/** 设置多边形是否可拖拽移动,默认为false */ | ||
draggable?: boolean; | ||
|
||
extData?: ExtraData; | ||
}; | ||
|
||
export type BezierCurveEventType = | ||
| 'hide' | ||
| 'show' | ||
| 'click' | ||
| 'dblclick' | ||
| 'rightclick' | ||
| 'mousedown' | ||
| 'mouseup' | ||
| 'mouseover' | ||
| 'mouseout' | ||
| 'touchstart' | ||
| 'touchmove' | ||
| 'touchend'; | ||
|
||
/** | ||
* 贝塞尔曲线 | ||
* https://lbs.amap.com/api/javascript-api-v2/documentation#beziercurve | ||
*/ | ||
export declare class BezierCurve<ExtractData> extends Overlay< | ||
ExtractData, | ||
BezierCurveEventType | ||
> { | ||
constructor(opts?: BezierCurveOptions<ExtractData>); | ||
|
||
/** 获取贝塞尔曲线路径的节点数组 */ | ||
getPath(): number[][] | number[][][]; | ||
/** | ||
* 设置组成该折线的节点数组,贝瑟尔曲线的路径。 | ||
* 描述为一个二维数组规则如下:第一个元素是起点, 之后的元素同时描述控制点和途经点,之后每个元素可以有0个到2个控制点 控制点在前,途经点在最后 | ||
* [ | ||
* [lng,lat], //起点0 | ||
* [lng,lat,lng,lat,lng,lat], //控制点、控制点、途经点2 | ||
* [lng,lat,lng,lat], //控制点、途经点3 | ||
* ] | ||
* 或者 | ||
* [ | ||
* [ [lng,lat] ],//起点0 | ||
* [ [lng,lat] , [lng,lat] ], //控制点、途经点1 | ||
* [ [lng,lat] , [lng,lat] , [lng,lat] ], //控制点、控制点、途经点2 | ||
* [ [lng,lat] , [lng,lat] ] // 控制点、途经点3 | ||
* ] | ||
*/ | ||
setPath(path?: number[][] | number[][][]): void; | ||
/** 判断坐标是否在曲线内 */ | ||
contains(point: LngLatLike): void; | ||
/** 获取曲线的总长度(单位:米)*/ | ||
getLength(): number; | ||
/** 获取当前折线的矩形范围对象 */ | ||
getBounds(): Bounds | undefined; | ||
/** 销毁内存-贝塞尔曲线 */ | ||
destroy(): void; | ||
/** 设置贝塞尔曲线离地高度 (此方法和相关属性 height 适用于 JSAPI v2.1Beta 及以上版本) */ | ||
setHeight(height: number): void; | ||
/** 获取当前贝塞尔曲线离地高度值 (此方法适用于 JSAPI 2.1Beta 及以上版本) */ | ||
getPolylineHeight(height: number): void; | ||
/** | ||
* @warning 文档中未明确说明,且未成功验证其存在性 | ||
**/ | ||
generateBuffer(...args: any[]): any; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
import type { LngLat, LngLatLike } from '../common/LngLat'; | ||
import type Overlay from './Overlay'; | ||
|
||
export type CircleOptions<ExtraData = any> = { | ||
/** 圆心位置 */ | ||
center?: LngLatLike; | ||
/** 圆半径,单位:米 */ | ||
radius?: number; | ||
/** 多边形覆盖物的叠加顺序。地图上存在多个多边形覆盖物叠加时,通过该属性使级别较高的多边形覆盖物在上层显示 */ | ||
zIndex?: number; | ||
/** 是否将覆盖物的鼠标或touch等事件冒泡到地图上*/ | ||
bubble?: boolean; | ||
/** 指定鼠标悬停时的鼠标样式,自定义cursor,IE仅支持cur/ani/ico格式,Opera不支持自定义cursor */ | ||
cursor?: string; | ||
/** 轮廓线颜色,使用16进制颜色代码赋值。默认值为#00D3FC */ | ||
strokeColor?: string; | ||
/** 轮廓线透明度,取值范围 [0,1] ,0表示完全透明,1表示不透明。默认为0.9 */ | ||
strokeOpacity?: number; | ||
/** 轮廓线宽度 */ | ||
strokeWeight?: number; | ||
/** 轮廓线样式,实线:solid,虚线:dashed */ | ||
strokeStyle?: 'solid' | 'dashed'; | ||
/** | ||
* 勾勒形状轮廓的虚线和间隙的样式,此属性在strokeStyle 为dashed 时有效, 此属性在ie9+浏览器有效 取值: | ||
* - 实线: [0,0,0] 虚线: [10,10],[10,10] 表示10个像素的实线和10个像素的空白(如此反复)组成的虚线 | ||
* - 点画线: [10,2,10],[10,2,10] 表示10个像素的实线和2个像素的空白 + 10个像素的实线和10个像素的空白 (如此反复)组成的虚线 | ||
*/ | ||
strokeDasharray?: Array<number>; | ||
/** 多边形填充颜色,使用16进制颜色代码赋值,如:#00B2D5 */ | ||
fillColor?: string; | ||
/** 多边形填充透明度,取值范围 [0,1],0表示完全透明,1表示不透明。默认为0.5 */ | ||
fillOpacity?: number; | ||
/** 设置多边形是否可拖拽移动,默认为false */ | ||
draggable?: boolean; | ||
/** 用户自定义属性,支持JavaScript API任意数据类型,如Polygon的id等 */ | ||
extData?: ExtraData; | ||
}; | ||
|
||
export type CircleEventType = | ||
| 'hide' | ||
| 'show' | ||
| 'click' | ||
| 'dblclick' | ||
| 'rightclick' | ||
| 'mousedown' | ||
| 'mouseup' | ||
| 'mouseover' | ||
| 'mouseout' | ||
| 'touchstart' | ||
| 'touchmove' | ||
| 'touchend'; | ||
|
||
export declare class Circle<ExtraData = any> extends Overlay< | ||
ExtraData, | ||
CircleEventType | ||
> { | ||
constructor(opt?: CircleOptions<ExtraData>); | ||
|
||
/** 获取圆点中心 */ | ||
getCenter(): LngLat; | ||
/** 设置圆中心点 */ | ||
setCenter(lnglat: LngLatLike): void; | ||
/** 获取圆点的半径 */ | ||
getRadius(): number; | ||
/** 设置圆点的半径 */ | ||
setRaius(radius: number): void; | ||
/** | ||
* 同时设置中心和半径 | ||
* @warning 文档未提及,验证存在 | ||
*/ | ||
setCenterAndRadius(lnglat: LngLatLike, radius: number): void; | ||
/** 销毁内存-圆形 */ | ||
destroy(): void; | ||
/** 判断指定点坐标是否在圆内 */ | ||
contains(point: LngLatLike): boolean; | ||
/** 获取多边形的面积(单位:平方米) */ | ||
getArea(): number; | ||
/** | ||
* 海拔高度值 | ||
* @version v2.1Beta 以上版本 | ||
**/ | ||
getPlaneHeight(): number; | ||
} | ||
|
||
export default Circle; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
import type { LngLat, LngLatLike } from '../common/LngLat'; | ||
import type Overlay from './Overlay'; | ||
|
||
export type CircleMarkerOptions<ExtraData = any> = { | ||
/** 圆心位置 */ | ||
center?: LngLatLike; | ||
/** 圆半径,单位:米 */ | ||
radius?: number; | ||
/** 多边形覆盖物的叠加顺序。地图上存在多个多边形覆盖物叠加时,通过该属性使级别较高的多边形覆盖物在上层显示 */ | ||
zIndex?: number; | ||
/** 是否将覆盖物的鼠标或touch等事件冒泡到地图上 */ | ||
bubble?: boolean; | ||
/** 指定鼠标悬停时的鼠标样式,自定义cursor,IE仅支持cur/ani/ico格式,Opera不支持自定义cursor */ | ||
cursor?: string; | ||
/** 轮廓线颜色,使用16进制颜色代码赋值。默认值为#00D3FC */ | ||
strokeColor?: string; | ||
/** 轮廓线透明度,取值范围 [0,1] ,0表示完全透明,1表示不透明。默认为0.9 */ | ||
strokeOpacity?: number; | ||
/** 轮廓线宽度 */ | ||
strokeWeight?: number; | ||
/** | ||
* 轮廓线样式,实线:solid,虚线:dashed. 默认:solid | ||
* @warning 文档未提及 | ||
*/ | ||
// strokeStyle?: 'solid' | 'dashed'; | ||
/** | ||
* 勾勒形状轮廓的虚线和间隙的样式,此属性在strokeStyle 为dashed 时有效, 此属性在ie9+浏览器有效 取值: | ||
* - 实线: [0,0,0] 虚线: [10,10],[10,10] 表示10个像素的实线和10个像素的空白(如此反复)组成的虚线 | ||
* - 点画线: [10,2,10],[10,2,10] 表示10个像素的实线和2个像素的空白 + 10个像素的实线和10个像素的空白 (如此反复)组成的虚线 | ||
* @warning 文档未提及 | ||
*/ | ||
// strokeDasharray?: Array<number>; | ||
/** 多边形填充颜色,使用16进制颜色代码赋值,如:#00B2D5 */ | ||
fillColor?: string; | ||
/** 多边形填充透明度,取值范围 [0,1] ,0表示完全透明,1表示不透明。默认为0.5 */ | ||
fillOpacity?: number; | ||
/** 设置多边形是否可拖拽移动,默认为false */ | ||
draggable?: boolean; | ||
/** 用户自定义属性,支持JavaScript API任意数据类型,如Polygon的id等 */ | ||
extData?: ExtraData; | ||
}; | ||
|
||
export type CircleMarkerEventType = | ||
| 'hide' | ||
| 'show' | ||
| 'click' | ||
| 'dblclick' | ||
| 'rightclick' | ||
| 'mousedown' | ||
| 'mouseup' | ||
| 'mouseover' | ||
| 'mouseout' | ||
| 'touchstart' | ||
| 'touchmove' | ||
| 'touchend'; | ||
|
||
/** | ||
* 构造圆形对象,通过CircleOptions指定多边形样式 | ||
* | ||
* https://lbs.amap.com/api/javascript-api-v2/documentation#circlemarker | ||
*/ | ||
export declare class CircleMarker<ExtraData = any> extends Overlay< | ||
ExtraData, | ||
CircleMarkerEventType | ||
> { | ||
constructor(opts?: CircleMarkerOptions<ExtraData>); | ||
|
||
/** 获取圆点中心 */ | ||
getCenter(): LngLat; | ||
/** 设置圆中心点 */ | ||
setCenter(lnglat: LngLatLike): void; | ||
/** 获取圆点的半径 */ | ||
getRadius(): number; | ||
/** 设置圆点的半径 */ | ||
setRaius(radius: number): void; | ||
/** 判断指定点坐标是否在圆内 */ | ||
contains(point: LngLatLike): boolean; | ||
/** 销毁内存-CircleMarker */ | ||
destroy(): void; | ||
|
||
/** 获取当前CircleMarker 的绝对高度 */ | ||
getCurAltitude(): boolean; | ||
|
||
/** | ||
* @warning 文档中未明确说明,且未成功验证其存在性 | ||
**/ | ||
generateBuffer(...args: any[]): any; | ||
} | ||
|
||
export default CircleMarker; |
Oops, something went wrong.