# Functions
# Graph
▸ Graph(serialized?: Serialized): object
具有深度优先搜索和拓扑排序的图数据结构。
example
var graph = Graph()
.addEdge("s", "t", 10)
.addEdge("s", "y", 5)
.addEdge("s", "y", 4)
.addEdge("t", "y", 2)
.addEdge("y", "t", 3)
.addEdge("t", "x", 1)
.addEdge("y", "x", 9)
.addEdge("y", "z", 2)
.addEdge("x", "z", 4)
.addEdge("z", "x", 6);
var res = graph.shortestPath("s", "z")
# Parameters
| Name | Type |
|---|---|
serialized? | Serialized |
Returns: object
| Name | Type |
|---|---|
addEdge | (u: NodeId, v: NodeId, weight?: EdgeWeight) => { addNode: (node: string) => ...; removeNode: (node: string) => ...; nodes: () => string[]; adjacent: (node: string) => string[]; addEdge: (u: string, v: string, weight?: number | undefined) => ...; ... 12 more ...; deserialize: (serialized: Serialized) => ...; } |
addNode | (node: NodeId) => { addNode: (node: string) => ...; removeNode: (node: string) => ...; nodes: () => string[]; adjacent: (node: string) => string[]; addEdge: (u: string, v: string, weight?: number | undefined) => ...; ... 12 more ...; deserialize: (serialized: Serialized) => ...; } |
adjacent | (node: NodeId) => NodeId[] |
depthFirstSearch | (sourceNodes?: NodeId[], includeSourceNodes: boolean, errorOnCycle: boolean) => string[] |
deserialize | (serialized: Serialized) => { addNode: (node: string) => ...; removeNode: (node: string) => ...; nodes: () => string[]; adjacent: (node: string) => string[]; addEdge: (u: string, v: string, weight?: number | undefined) => ...; ... 12 more ...; deserialize: (serialized: Serialized) => ...; } |
getEdgeWeight | (u: NodeId, v: NodeId) => EdgeWeight |
hasCycle | () => boolean |
hasEdge | (u: NodeId, v: NodeId) => boolean |
indegree | (node: NodeId) => number |
lowestCommonAncestors | (node1: NodeId, node2: NodeId) => string[] |
nodes | () => NodeId[] |
outdegree | (node: NodeId) => number |
removeEdge | (u: NodeId, v: NodeId) => { addNode: (node: string) => ...; removeNode: (node: string) => ...; nodes: () => string[]; adjacent: (node: string) => string[]; addEdge: (u: string, v: string, weight?: number | undefined) => ...; ... 12 more ...; deserialize: (serialized: Serialized) => ...; } |
removeNode | (node: NodeId) => { addNode: (node: string) => ...; removeNode: (node: string) => ...; nodes: () => string[]; adjacent: (node: string) => string[]; addEdge: (u: string, v: string, weight?: number | undefined) => ...; ... 12 more ...; deserialize: (serialized: Serialized) => ...; } |
serialize | () => Serialized |
setEdgeWeight | (u: NodeId, v: NodeId, weight: EdgeWeight) => { addNode: (node: string) => ...; removeNode: (node: string) => ...; nodes: () => string[]; adjacent: (node: string) => string[]; addEdge: (u: string, v: string, weight?: number | undefined) => ...; ... 12 more ...; deserialize: (serialized: Serialized) => ...; } |
shortestPath | (source: NodeId, destination: NodeId) => string[] & { weight?: number } |
topologicalSort | (sourceNodes?: NodeId[], includeSourceNodes: boolean) => string[] |
# RandomID
▸ RandomID(length?: number): string
生成随机ID
# Parameters
| Name | Type |
|---|---|
length? | number |
Returns: string
# Scene
▸ Scene(L7: any, map: Map, option?: object): object
L7图层,可参考https://l7.antv.vision/. 返回一个场景对象
# Parameters
| Name | Type | Description |
|---|---|---|
L7 | any | L7命名空间 |
map | Map | |
option? | object |
Returns: object
| Name | Type |
|---|---|
addControl | (ctr: any) => void |
addFontFace | (fontFamily: string, fontPath: string) => void |
addIconFont | (name: string, fontUnicode: string) => void |
addIconFontGlyphs | (fontFamily: string, glyphs: any[]) => void |
addIconFonts | (options: string[][]) => void |
addImage | (id: string, img: any) => void |
addLayer | (layer: any) => void |
addMarker | (marker: any) => void |
addMarkerLayer | (layer: any) => void |
addPopup | (popup: any) => void |
containerToLngLat | (pixel: any) => any |
destroy | () => void |
diasbleShaderPick | () => void |
enableShaderPick | () => void |
exportMap | (type?: "png" | "jpg") => string |
exportPng | (type?: "png" | "jpg") => string |
fitBounds | (bound: any, options?: unknown) => void |
getBounds | () => any |
getCenter | (options?: any) => any |
getContainer | () => null | HTMLElement |
getControlByName | (name: string) => any |
getLayer | (id: string) => any |
getLayerByName | (name: string) => any |
getLayers | () => any[] |
getMapCanvasContainer | () => HTMLElement |
getMapContainer | () => null | HTMLElement |
getMapService | () => any |
getMaxZoom | () => number |
getMinZoom | () => number |
getPitch | () => number |
getPointSizeRange | () => Float32Array |
getRotation | () => number |
getServiceContainer | () => any |
getSize | () => [number, number] |
getType | () => string |
getZoom | () => number |
hasImage | (id: string) => boolean |
lngLatToContainer | (lnglat: any) => any |
lngLatToPixel | (lnglat: any) => any |
off | (type: string, handle: (...args: any[]) => void) => void |
on | (type: string, handle: (...args: any[]) => void) => void |
once | (type: string, handle: (...args: any[]) => void) => void |
panBy | (x: number, y: number) => void |
panTo | (p: any) => void |
pixelToLngLat | (pixel: any) => any |
registerPostProcessingPass | (constructor: (...args: any[]) => any, name: string) => void |
registerRenderService | (render: any) => void |
removeAllLayer | () => void |
removeAllMakers | () => void |
removeControl | (ctr: any) => void |
removeImage | (id: string) => void |
removeLayer | (layer: any, parentLayer?: any) => void |
removeMarkerLayer | (layer: any) => void |
render | () => void |
setBgColor | (color: string) => void |
setCenter | (center: [number, number], options?: any) => void |
setEnableRender | (flag: boolean) => void |
setMapStatus | (options: Partial<any>) => void |
setMapStyle | (style: any) => void |
setPitch | (pitch: number) => void |
setRotation | (rotation: number) => void |
setZoom | (zoom: number) => void |
setZoomAndCenter | (zoom: number, center: any) => void |
zoomIn | () => void |
zoomOut | () => void |
# WorkerExpose
▸ WorkerExpose(target: any): void
# Parameters
| Name | Type |
|---|---|
target | any |
Returns: void
# WorkerLink
▸ WorkerLink(worker: Worker): any
和一个Worker相关联
# Parameters
| Name | Type |
|---|---|
worker | Worker |
Returns: any
# WorkerProxy
▸ WorkerProxy(obj: Function | string, funcContext?: Record<string, Function | string>): Function
将独立函数/类移动到工作线程的一种非常简单的方法。 或者,将 worker 中的对象或函数暴露给主线程。 所有调用都是异步的。与 async/await 配合使用效果很好
Example:
function busyAdd(a, b) {
let st = Date.now();
while (true) {
if ((Date.now() - st) > 2000) break;
}
return a + b;
}
(async () => {
let workerAdd = vjmap.WorkerProxy(busyAdd);
console.log(await workerAdd(10, 20)); //30
// the busyAdd is executed in a worker so
// the UI does not get blocked
})();
class Adder {
constructor() {
this.count = 0;
}
add(a, b) {
this.count++;
return a + b;
}
}
(async () => {
let WAdder = vjmap.WorkerProxy(Adder);
let a = await new WAdder(); // instance created/running in worker
console.log(await a.count); // 0
console.log(await a.add(10, 20)); // 30
console.log(await a.count); // 1
})();
// or:
// worker.js
importScripts('https://cdn.jsdelivr.net/npm/moment@2.20.1/moment.min.js', '../dist/workly.js');
function friendlyTime(value) {
return moment(value).calendar(null, {
sameDay: function (now) {
if (now - this < 1000 * 60) {
return "[Just now]";
} else if (now - this < 1000 * 60 * 60) {
return "[" + Math.round((now - this) / (1000 * 60)) + " mins ago]";
} else {
return '[Today at] LT'
}
}
});
}
vjmap.WorkerExpose(friendlyTime);
main.js
(async () => {
let w = vjmap.WorkerProxy("./worker.js");
let now = Date.now();
console.log(now);
console.log(await w(now));
console.log(await w(now - (24 * 60 * 60 * 1000)));
console.log(await w(now - (4 * 24 * 60 * 60 * 1000)));
})();
function randAdd(a, b) {
return randInt(a, b) + 1000; // randInt这个函数是上下文传递进来的
}
let randAddFunc = vjmap.WorkerProxy(randAdd, {
randInt: vjmap.randInt // 把主进程库的函数做为上下文传进去
});
console.log(await randAddFunc(100, 300));
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# Parameters
| Name | Type | Description |
|---|---|---|
obj | Function | string | |
funcContext? | Record<string, Function | string> | 函数上下文,如果传入的obj是函数的话,需要把obj中函数里调用的函数名称和函数方法传进来 |
Returns: Function
# _getEdgeIntersection
▸ _getEdgeIntersection(a: GeoPoint, b: GeoPoint, code: number, bounds: GeoBounds): GeoPoint
# Parameters
| Name | Type |
|---|---|
a | GeoPoint |
b | GeoPoint |
code | number |
bounds | GeoBounds |
Returns: GeoPoint
# addScript
▸ addScript(scripts: ScriptDefaultOptions | ScriptDefaultOptions[]): Promise<unknown[]>
将脚本注入.
脚本选项信息:
strategy: 用于运行 JavaScript 的策略。可以是inject、eval 或href。默认自动检测.
injectLocation: 用于注入资源的位置的 document.querySelector 参数。默认为 head.
async: 异步加载脚本
src: 脚本的来源
method
async
example
// you can add multiple loads
awit addScript([{
src: "https://code.jquery.com/jquery-3.5.0.js"
}, {
src: "https://code.jquery.com/jquery-3.2.0.js",
async: true
}, {
src: "https://code.jquery.com/jquery-3.3.0.js",
async: true,
injectLocation: '#main div.test',
}, {
src: "https://code.jquery.com/jquery-3.4.0.js",
strategy: 'eval',
}, {
// link tag
// css autodetected
src: "https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.0.2/css/bootstrap-grid.min.css",
}])
# Parameters
| Name | Type | Description |
|---|---|---|
scripts | ScriptDefaultOptions | ScriptDefaultOptions[] | Options for a script |
Returns: Promise<unknown[]>
# animateVectorLayer
▸ Const animateVectorLayer(map: Map, layerId: string, options?: IAnimateVectorLayerOptions, layerType?: number): IAnimateVectorLayerResult
创建矢量图层动画图层
# Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
map | Map | - | 地图对象 |
layerId | string | - | 矢量图层id |
options | IAnimateVectorLayerOptions | {} | 选项 |
layerType? | number | - | 图层类型 0 线 1 填充 2 符号点 |
Returns: IAnimateVectorLayerResult
# applyMixins
▸ applyMixins(derivedCtor: any, baseCtors: any[]): void
Copy methods and properties from one prototype into another.
see https://www.typescriptlang.org/docs/handbook/mixins.html
# Parameters
| Name | Type | Description |
|---|---|---|
derivedCtor | any | Class to mix methods and properties into. |
baseCtors | any[] | Class to take all methods and properties from. |
Returns: void
# applyMixinsWithoutProperties
▸ applyMixinsWithoutProperties(derivedCtor: any, baseCtors: any[]): void
Copy methods from one prototype into another.
see https://www.typescriptlang.org/docs/handbook/mixins.html
# Parameters
| Name | Type | Description |
|---|---|---|
derivedCtor | any | Class to mix methods into. |
baseCtors | any[] | Class to take all methods from. |
Returns: void
# bufferConvexPolygon
▸ bufferConvexPolygon(ring: GeoPoint[], buffer: number): GeoPoint[]
取一个凸环并通过在其周围应用缓冲区将其向外扩展。 此功能假定环是顺时针缠绕的。
# Parameters
| Name | Type |
|---|---|
ring | GeoPoint[] |
buffer | number |
Returns: GeoPoint[]
# buildTopoGraph
▸ buildTopoGraph(lines: { id?: string ; points: GeoPoint[] ; weight?: number }[], precision?: number, hasDirection?: boolean): object
根据多条多段线,建立topo
# Parameters
| Name | Type | Description |
|---|---|---|
lines | { id?: string ; points: GeoPoint[] ; weight?: number }[] | 坐标,请转成几何坐标,再传入 |
precision? | number | 误差,小数点后几位, 以为相同, 如果两个点的坐标距离小于此值,则认为是同一个节点 |
hasDirection? | boolean | 是否考虑方向 |
Returns: object
| Name | Type |
|---|---|
graph | object |
graph.addEdge | (u: NodeId, v: NodeId, weight?: EdgeWeight) => { addNode: (node: string) => ...; removeNode: (node: string) => ...; nodes: () => string[]; adjacent: (node: string) => string[]; addEdge: (u: string, v: string, weight?: number | undefined) => ...; ... 12 more ...; deserialize: (serialized: Serialized) => ...; } |
graph.addNode | (node: NodeId) => { addNode: (node: string) => ...; removeNode: (node: string) => ...; nodes: () => string[]; adjacent: (node: string) => string[]; addEdge: (u: string, v: string, weight?: number | undefined) => ...; ... 12 more ...; deserialize: (serialized: Serialized) => ...; } |
graph.adjacent | (node: NodeId) => NodeId[] |
graph.depthFirstSearch | (sourceNodes?: NodeId[], includeSourceNodes: boolean, errorOnCycle: boolean) => string[] |
graph.deserialize | (serialized: Serialized) => { addNode: (node: string) => ...; removeNode: (node: string) => ...; nodes: () => string[]; adjacent: (node: string) => string[]; addEdge: (u: string, v: string, weight?: number | undefined) => ...; ... 12 more ...; deserialize: (serialized: Serialized) => ...; } |
graph.getEdgeWeight | (u: NodeId, v: NodeId) => EdgeWeight |
graph.hasCycle | () => boolean |
graph.hasEdge | (u: NodeId, v: NodeId) => boolean |
graph.indegree | (node: NodeId) => number |
graph.lowestCommonAncestors | (node1: NodeId, node2: NodeId) => string[] |
graph.nodes | () => NodeId[] |
graph.outdegree | (node: NodeId) => number |
graph.removeEdge | (u: NodeId, v: NodeId) => { addNode: (node: string) => ...; removeNode: (node: string) => ...; nodes: () => string[]; adjacent: (node: string) => string[]; addEdge: (u: string, v: string, weight?: number | undefined) => ...; ... 12 more ...; deserialize: (serialized: Serialized) => ...; } |
graph.removeNode | (node: NodeId) => { addNode: (node: string) => ...; removeNode: (node: string) => ...; nodes: () => string[]; adjacent: (node: string) => string[]; addEdge: (u: string, v: string, weight?: number | undefined) => ...; ... 12 more ...; deserialize: (serialized: Serialized) => ...; } |
graph.serialize | () => Serialized |
graph.setEdgeWeight | (u: NodeId, v: NodeId, weight: EdgeWeight) => { addNode: (node: string) => ...; removeNode: (node: string) => ...; nodes: () => string[]; adjacent: (node: string) => string[]; addEdge: (u: string, v: string, weight?: number | undefined) => ...; ... 12 more ...; deserialize: (serialized: Serialized) => ...; } |
graph.shortestPath | (source: NodeId, destination: NodeId) => string[] & { weight?: number } |
graph.topologicalSort | (sourceNodes?: NodeId[], includeSourceNodes: boolean) => string[] |
topo | any |
, lowestCommonAncestors: (node1: NodeId, node2: NodeId) => NodeId[], shortestPath: (source: NodeId, destination: NodeId) => NodeId[] & {weight?: EdgeWeight}, setEdgeWeight: (u: NodeId, v: NodeId, weight: EdgeWeight) => {topologicalSort: (sourceNodes?: NodeId[], includeSourceNodes?: boolean) => ...[], addNode: (node: NodeId) => any, lowestCommonAncestors: (node1: NodeId, node2: NodeId) => ...[], shortestPath: (source: NodeId, destination: NodeId) => ... & ..., setEdgeWeight: (u: NodeId, v: NodeId, weight: EdgeWeight) => any, adjacent: (node: NodeId) => NodeId[], depthFirstSearch: (sourceNodes?: NodeId[], includeSourceNodes?: boolean, errorOnCycle?: boolean) => ...[], hasCycle: () => boolean, getEdgeWeight: (u: NodeId, v: NodeId) => EdgeWeight, serialize: () => Serialized, removeEdge: (u: NodeId, v: NodeId) => any, ...}, adjacent: (node: NodeId) => NodeId[], depthFirstSearch: (sourceNodes?: NodeId[], includeSourceNodes?: boolean, errorOnCycle?: boolean) => NodeId[], hasCycle: () => boolean, getEdgeWeight: (u: NodeId, v: NodeId) => EdgeWeight, serialize: () => Serialized, removeEdge: (u: NodeId, v: NodeId) => {topologicalSort: (sourceNodes?: NodeId[], includeSourceNodes?: boolean) => ...[], addNode: (node: NodeId) => any, lowestCommonAncestors: (node1: NodeId, node2: NodeId) => ...[], shortestPath: (source: NodeId, destination: NodeId) => ... & ..., setEdgeWeight: (u: NodeId, v: NodeId, weight: EdgeWeight) => any, adjacent: (node: NodeId) => NodeId[], depthFirstSearch: (sourceNodes?: NodeId[], includeSourceNodes?: boolean, errorOnCycle?: boolean) => ...[], hasCycle: () => boolean, getEdgeWeight: (u: NodeId, v: NodeId) => EdgeWeight, serialize: () => Serialized, removeEdge: (u: NodeId, v: NodeId) => any, ...}, ...}}}
# buildTransformer
▸ buildTransformer(src: number[], dest: number[]): undefined | number[]
Usage:
const transformer = buildTransformer(
[10, 44, 100, 44, 100, 300, 10, 300],
[50, 54, 130, 14, 140, 330, 14, 220]
);
2
3
4
# Parameters
| Name | Type | Description |
|---|---|---|
src | number[] | source four points, [x0, y0, x1, y1, x2, y2, x3, y3] |
dest | number[] | destination four points, [x0, y0, x1, y1, x2, y2, x3, y3] |
Returns: undefined | number[]
transformer If fail, return null/undefined.
# buildTransformerMatrix3d
▸ buildTransformerMatrix3d(src: number[], dest: number[]): undefined | string
透视投影转3d css 矩阵 Usage:
const transformer = buildTransformerMatrix3d(
[10, 44, 100, 44, 100, 300, 10, 300],
[50, 54, 130, 14, 140, 330, 14, 220]
);
2
3
4
# Parameters
| Name | Type | Description |
|---|---|---|
src | number[] | source four points, [x0, y0, x1, y1, x2, y2, x3, y3] |
dest | number[] | destination four points, [x0, y0, x1, y1, x2, y2, x3, y3] |
Returns: undefined | string
# calcPolygonArea
▸ calcPolygonArea(points: GeoPoint[]): number
计算多边形面积
# Parameters
| Name | Type |
|---|---|
points | GeoPoint[] |
Returns: number
# calculateSignedArea
▸ calculateSignedArea(ring: GeoPoint[]): number
返回多边形的有符号的面积。正区域为外环,具有顺时针绕组。负区域为内环,按逆时针顺序排列。
# Parameters
| Name | Type |
|---|---|
ring | GeoPoint[] |
Returns: number
# clipPolygon
▸ clipPolygon(points: GeoPoint[], bounds: GeoBounds): GeoPoint[]
根据范围裁剪多边形
# Parameters
| Name | Type |
|---|---|
points | GeoPoint[] |
bounds | GeoBounds |
Returns: GeoPoint[]
# clipSegment
▸ clipSegment(a: GeoPoint, b: GeoPoint, bounds: GeoBounds): GeoPoint[] | Boolean
根据范围裁剪线段
# Parameters
| Name | Type |
|---|---|
a | GeoPoint |
b | GeoPoint |
bounds | GeoBounds |
Returns: GeoPoint[] | Boolean
# cloneDeep
▸ cloneDeep<T>(obj: T): T
Deep clone of object.
Like JSON.parse(JSON.stringify(obj)), but supports basic javascript types (string, number,
object), Date and RegExps and cycles.
Throws error if enounters object with prototype assuming that in general class instances
cannot be reliably cloned by generic algorithm.
# Type parameters
| Name |
|---|
T |
# Parameters
| Name | Type |
|---|---|
obj | T |
Returns: T
# closePolygon
▸ closePolygon(points: GeoPoint[]): GeoPoint[]
闭合多边形
# Parameters
| Name | Type |
|---|---|
points | GeoPoint[] |
Returns: GeoPoint[]
points
# closestPointOnPolyline
▸ closestPointOnPolyline(p: GeoPoint, points: GeoPoint[]): object
点到多段线的最近点
# Parameters
| Name | Type |
|---|---|
p | GeoPoint |
points | GeoPoint[] |
Returns: object
| Name | Type |
|---|---|
closestIndex | number |
closestLength | number |
closestPoint | GeoPoint |
closestPrePointDist | number |
# closestPointOnPolylines
▸ closestPointOnPolylines(p: GeoPoint, lines: GeoPoint[][]): object
点到多条线的最近点
# Parameters
| Name | Type |
|---|---|
p | GeoPoint |
lines | GeoPoint[][] |
Returns: object
| Name | Type |
|---|---|
closestIndex | number |
closestLength | number |
closestPoint | GeoPoint |
closestPointIndex | number |
closestPrePointDist | number |
# closestPointOnSegment
▸ closestPointOnSegment(p: GeoPoint, p1: GeoPoint, p2: GeoPoint): GeoPoint
点到线段的最近点
# Parameters
| Name | Type |
|---|---|
p | GeoPoint |
p1 | GeoPoint |
p2 | GeoPoint |
Returns: GeoPoint
# coordTransfromByFourParamter
▸ coordTransfromByFourParamter(pt: GeoPoint, param: { dx: number ; dy: number ; rotate: number ; scale: number }): GeoPoint
通过四参数进行坐标转换
# Parameters
| Name | Type | Description |
|---|---|---|
pt | GeoPoint | 点 |
param | object | 四参数 |
param.dx | number | - |
param.dy | number | - |
param.rotate | number | - |
param.scale | number | - |
Returns: GeoPoint
# coordTransfromByInvFourParamter
▸ coordTransfromByInvFourParamter(pt: GeoPoint, param: { dx: number ; dy: number ; rotate: number ; scale: number }): GeoPoint
通过四参数反算进行坐标转换
# Parameters
| Name | Type | Description |
|---|---|---|
pt | GeoPoint | 点 |
param | object | 四参数 |
param.dx | number | - |
param.dy | number | - |
param.rotate | number | - |
param.scale | number | - |
Returns: GeoPoint
# coordTransfromGetFourParamter
▸ coordTransfromGetFourParamter(srcArr: GeoPoint[], destArr: GeoPoint[], isSetRotateZero: boolean, isConsiderPointOrder?: boolean): object
坐标转换得到四参数
# Parameters
| Name | Type | Description |
|---|---|---|
srcArr | GeoPoint[] | 原始点数组 |
destArr | GeoPoint[] | 目标点数组 |
isSetRotateZero | boolean | 是否设置旋转为零,默认false,如果为true,则只考虑平移和缩放 |
isConsiderPointOrder? | boolean | 不考虑点的次序(这样旋转角度方向总是上面,在-180,180之间) |
Returns: object
| Name | Type |
|---|---|
dx | number |
dy | number |
rotate | number |
scale | number |
# createAnimateFillLayer
▸ createAnimateFillLayer(map: Map, path: LineGeoJsonInput | LineGeoJsonInput[] | GeoJsonGeomertry | GeoPointLike[] | any, options?: IAnimateFillLayerOptions): ICreateFillAnimateLayerResult
创建多边形动画图层
# Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
map | Map | - | 地图对象 |
path | LineGeoJsonInput | LineGeoJsonInput[] | GeoJsonGeomertry | GeoPointLike[] | any | - | 线坐标(lngLat) |
options | IAnimateFillLayerOptions | {} | 选项 |
Returns: ICreateFillAnimateLayerResult
# createAnimateImages
▸ createAnimateImages(options?: ICreateAnimateImagesOptions): ImageData[]
创建动画图片集
# Parameters
| Name | Type | Description |
|---|---|---|
options? | ICreateAnimateImagesOptions | 选项 |
Returns: ImageData[]
# createAnimateLineLayer
▸ createAnimateLineLayer(map: Map, path: LineGeoJsonInput | LineGeoJsonInput[] | GeoJsonGeomertry | GeoPointLike[] | any, options?: IAnimateLineLayerOptions): ICreateLineAnimateLayerResult
创建多段线动画图层
# Parameters
| Name | Type | Description |
|---|---|---|
map | Map | 地图对象 |
path | LineGeoJsonInput | LineGeoJsonInput[] | GeoJsonGeomertry | GeoPointLike[] | any | 线坐标(lngLat) |
options? | IAnimateLineLayerOptions | 选项 |
Returns: ICreateLineAnimateLayerResult
# createAnimateSymbolLayer
▸ createAnimateSymbolLayer(map: Map, path: PointGeoJsonInput | PointGeoJsonInput[] | GeoJsonGeomertry | GeoPointLike | any, options?: IAnimateSymbolLayerOptions): ICreateSymbolAnimateLayerResult
创建符号动画图层
# Parameters
| Name | Type | Description |
|---|---|---|
map | Map | 地图对象 |
path | PointGeoJsonInput | PointGeoJsonInput[] | GeoJsonGeomertry | GeoPointLike | any | 符号坐标(lngLat) |
options? | IAnimateSymbolLayerOptions | 选项 |
Returns: ICreateSymbolAnimateLayerResult
# createAntPathAnimateImages
▸ createAntPathAnimateImages(options?: ICreateAntPathAnimateLineLayerOptions): ImageData[]
创建蚂蚁线动画图像集
# Parameters
| Name | Type | Description |
|---|---|---|
options? | ICreateAntPathAnimateLineLayerOptions | 选项 |
Returns: ImageData[]
# createAntPathAnimateLineLayer
▸ createAntPathAnimateLineLayer(map: Map, path: LineGeoJsonInput | LineGeoJsonInput[] | GeoJsonGeomertry | GeoPointLike[] | any, options?: ICreateAntPathAnimateLineLayerOptions): ICreateLineAnimateLayerResult
创建蚂蚁线动画线图层
# Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
map | Map | - | 地图对象 |
path | LineGeoJsonInput | LineGeoJsonInput[] | GeoJsonGeomertry | GeoPointLike[] | any | - | 线坐标(lngLat) |
options | ICreateAntPathAnimateLineLayerOptions | {} | 选项 |
Returns: ICreateLineAnimateLayerResult
# createArrowAnimateImages
▸ createArrowAnimateImages(options?: ICreateArrowAnimateLineLayerOptions): ImageData[]
创建箭头动画图像集
# Parameters
| Name | Type | Description |
|---|---|---|
options? | ICreateArrowAnimateLineLayerOptions | 选项 |
Returns: ImageData[]
# createArrowAnimateLineLayer
▸ createArrowAnimateLineLayer(map: Map, path: LineGeoJsonInput | LineGeoJsonInput[] | GeoJsonGeomertry | GeoPointLike[] | any, options?: ICreateArrowAnimateLineLayerOptions): ICreateLineAnimateLayerResult
创建箭头动画线图层
# Parameters
| Name | Type | Description |
|---|---|---|
map | Map | 地图对象 |
path | LineGeoJsonInput | LineGeoJsonInput[] | GeoJsonGeomertry | GeoPointLike[] | any | 线坐标(lngLat) |
options? | ICreateArrowAnimateLineLayerOptions | 选项 |
Returns: ICreateLineAnimateLayerResult
# createFrameAnimation
▸ createFrameAnimation(callback: (status: FrameAnimationStatus) => boolean, fps?: number, stopCallBack?: (status: FrameAnimationStatus) => void): FrameAnimation
创建一个 FrameAnimation 对象来启动和停止你的动画功能.
example
const count = 0;
const animation = createFrameAnimation(() => { context.clearRect(0, 0, width, height); context.font = "4rem monospace"; context.textAlign = 'center'; context.fillText(count, width / 2, height / 2);
count++; });
animation.start();
# Parameters
| Name | Type | Description |
|---|---|---|
callback | (status: FrameAnimationStatus) => boolean | 处理动画的回调,如果返回true,表示结束动画,返回false表示继续动画, . |
fps? | number | 一秒运行多少帧,用来控制速度,如为0,则默认为系统帧率 |
stopCallBack? | (status: FrameAnimationStatus) => void | 结束动画的回调,参数表示是取消(true),还是正常结束(false) |
Returns: FrameAnimation
| boolean}
# createLineGeoJson
▸ createLineGeoJson(input: LineGeoJsonInput | LineGeoJsonInput[] | GeoJsonGeomertry | GeoPointLike[] | any): GeoJsonGeomertry
创建geoson格式的线
# Parameters
| Name | Type |
|---|---|
input | LineGeoJsonInput | LineGeoJsonInput[] | GeoJsonGeomertry | GeoPointLike[] | any |
Returns: GeoJsonGeomertry
# createMarker
▸ createMarker(options?: createMarkerOptions): Marker
创建一个Makrer对象,相当于new Marker()
# Parameters
| Name | Type |
|---|---|
options? | createMarkerOptions |
Returns: Marker
# createObjectOffset
▸ createObjectOffset(): object
Returns: object
| Name | Type |
|---|---|
data | (vertices: any) => any |
margin | (dist: number) => any |
offset | (dist: number) => any |
offsetLines | (dist: number) => any |
padding | (dist: number) => any |
# createObjectPolygonUtil
▸ createObjectPolygonUtil(): object
Returns: object
| Name | Type |
|---|---|
diff | (polygonA: Number[][], polygonB: Number[][]) => null | Number[][] |
intersection | (polygonA: Number[][], polygonB: Number[][]) => null | Number[][] |
union | (polygonA: Number[][], polygonB: Number[][]) => null | Number[][] |
# createPointGeoJson
▸ createPointGeoJson(input: PointGeoJsonInput | PointGeoJsonInput[] | GeoJsonGeomertry | GeoPointLike | any): GeoJsonGeomertry
创建geoson格式的点
# Parameters
| Name | Type |
|---|---|
input | PointGeoJsonInput | PointGeoJsonInput[] | GeoJsonGeomertry | GeoPointLike | any |
Returns: GeoJsonGeomertry
# createPolygonGeoJson
▸ createPolygonGeoJson(input: LineGeoJsonInput | LineGeoJsonInput[] | GeoJsonGeomertry | GeoPointLike[] | any): GeoJsonGeomertry
创建geoson格式的多边形
# Parameters
| Name | Type |
|---|---|
input | LineGeoJsonInput | LineGeoJsonInput[] | GeoJsonGeomertry | GeoPointLike[] | any |
Returns: GeoJsonGeomertry
# degToRad
▸ degToRad(a: number): number
角度转弧度
# Parameters
| Name | Type |
|---|---|
a | number |
Returns: number
# entColorToHtmlColor
▸ entColorToHtmlColor(color: number | string, darkMode?: boolean, alpha?: number): string
实体颜色转html颜色
# Parameters
| Name | Type | Description |
|---|---|---|
color | number | string | 实体颜色 |
darkMode? | boolean | 样式是否为暗黑框 |
alpha? | number | 透明度的值 |
Returns: string
# equals
▸ equals(a: number, b: number): boolean
Tests whether or not the arguments have approximately the same value, within an absolute or relative tolerance of glMatrix.EPSILON (an absolute tolerance is used for values less than or equal to 1.0, and a relative tolerance is used for larger values)
# Parameters
| Name | Type | Description |
|---|---|---|
a | number | The first number to test. |
b | number | The second number to test. |
Returns: boolean
True if the numbers are approximately equal, false otherwise.
# findShortestPath
▸ findShortestPath(startPoint: GeoPoint, endPoint: GeoPoint, lines: { id?: string ; points: GeoPoint[] ; weight?: number }[], precision?: number, hasDirection?: boolean): { endPoint: { closestIndex: number ; closestLength: number ; closestPoint: GeoPoint ; closestPointIndex: number ; closestPrePointDist: number } ; error: undefined ; route: any[] ; routeDetail: { index: any ; points: any[] ; reverse: boolean = false }[] ; startPoint: { closestIndex: number ; closestLength: number ; closestPoint: GeoPoint ; closestPointIndex: number ; closestPrePointDist: number } } | { endPoint: undefined ; error: any ; route: undefined ; routeDetail: undefined ; startPoint: undefined }
给定所有路线、起始点、终点生成最短路径
# Parameters
| Name | Type | Description |
|---|---|---|
startPoint | GeoPoint | 起点 |
endPoint | GeoPoint | 终点 |
lines | { id?: string ; points: GeoPoint[] ; weight?: number }[] | 坐标,请转成几何坐标,再传入 |
precision? | number | 误差,小数点后几位, 以为相同, 如果两个点的坐标距离小于此值,则认为是同一个节点 |
hasDirection? | boolean | 是否考虑方向 |
Returns: { endPoint: { closestIndex: number ; closestLength: number ; closestPoint: GeoPoint ; closestPointIndex: number ; closestPrePointDist: number } ; error: undefined ; route: any[] ; routeDetail: { index: any ; points: any[] ; reverse: boolean = false }[] ; startPoint: { closestIndex: number ; closestLength: number ; closestPoint: GeoPoint ; closestPointIndex: number ; closestPrePointDist: number } } | { endPoint: undefined ; error: any ; route: undefined ; routeDetail: undefined ; startPoint: undefined }
# geoBounds
▸ geoBounds(min?: GeoPoint, max?: GeoPoint): GeoBounds
new一个GeoBounds实例
# Parameters
| Name | Type |
|---|---|
min? | GeoPoint |
max? | GeoPoint |
Returns: GeoBounds
# geoPoint
▸ geoPoint(input: GeoPointLike): GeoPoint
new一个GeoPoint实例
# Parameters
| Name | Type |
|---|---|
input | GeoPointLike |
Returns: GeoPoint
# getCircleFeature
▸ getCircleFeature(center: GeoPointLike, radius: number, points?: number, startAngle?: number, endAngle?: number, includeCenterWhenArc?: boolean): GeoJsonGeomertry
得到圆或圆弧的离散化的多边形的geojson的形式
# Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
center | GeoPointLike | - | 中心点 |
radius | number | - | 半径 |
points | number | 360 | 离散化的个数 |
startAngle | number | 0 | 开始角度 |
endAngle | number | 360 | 结束角度 |
includeCenterWhenArc | boolean | true | 如果是圆弧时,最后一个点加上中心点 |
Returns: GeoJsonGeomertry
, type: string, properties: {}}}
# getCirclePolygonCoordinates
▸ getCirclePolygonCoordinates(center: GeoPointLike, radius: number, points?: number, startAngle?: number, endAngle?: number, includeCenterWhenArc?: boolean): number[][]
得到圆或圆弧的离散化的多边形的点
# Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
center | GeoPointLike | - | 中心点 |
radius | number | - | 半径 |
points | number | 360 | 离散化的个数 |
startAngle | number | 0 | 开始角度 |
endAngle | number | 360 | 结束角度 |
includeCenterWhenArc | boolean | true | 如果是圆弧时,最后一个点加上中心点 |
Returns: number[][]
# getEllipseFeature
▸ getEllipseFeature(center: GeoPointLike, majorAxisRadius: number, minorAxisRadius: number, points?: number, startAngle?: number, endAngle?: number, includeCenterWhenArc?: boolean): GeoJsonGeomertry
得到圆或圆弧的离散化的多边形的geojson的形式
# Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
center | GeoPointLike | - | 中心点 |
majorAxisRadius | number | - | - |
minorAxisRadius | number | - | - |
points | number | 360 | 离散化的个数 |
startAngle | number | 0 | 开始角度 |
endAngle | number | 360 | 结束角度 |
includeCenterWhenArc | boolean | true | 如果是圆弧时,最后一个点加上中心点 |
Returns: GeoJsonGeomertry
, type: string, properties: {}}}
# getEllipsePolygonCoordinates
▸ getEllipsePolygonCoordinates(center: GeoPointLike, majorAxisRadius: number, minorAxisRadius: number, points?: number, startAngle?: number, endAngle?: number, includeCenterWhenArc?: boolean): number[][]
得到椭圆或椭圆弧的离散化的多边形的点
# Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
center | GeoPointLike | - | 中心点 |
majorAxisRadius | number | - | 长轴半径 |
minorAxisRadius | number | - | 短轴半径 |
points | number | 360 | 离散化的个数 |
startAngle | number | 0 | 开始角度 |
endAngle | number | 360 | 结束角度 |
includeCenterWhenArc | boolean | true | 如果是椭/圆弧时,最后一个点加上中心点 |
Returns: number[][]
# getEnvelopBounds
▸ getEnvelopBounds(envelop: string, prj: any): GeoBounds
根据外包矩形创建 GeoBounds.
Example:
const b = vjmap.getEnvelopBounds('POLYGON((3466315.697899 6704304.297588, 3466315.697899 7784496.211226, 4546475.901198 7784496.211226, 4546475.901198 6704304.297588, 3466315.697899 6704304.297588))', prj);
# Parameters
| Name | Type |
|---|---|
envelop | string |
prj | any |
Returns: GeoBounds
# getGeoBounds
▸ getGeoBounds<T>(data: T | string): GeoBounds
获取一个geojson的范围值
# Type parameters
| Name | Type |
|---|---|
T | GeoPoint | Feature<Geometry | GeometryCollection, Properties> | FeatureCollection<Geometry | GeometryCollection, Properties> | Geometry | GeometryCollection | [number, number] | [number, number, number] | { x: number ; y: number ; z?: number } | { lat: number ; lng: number } | { lat: number ; lon: number } | GeoPointLike[] |
# Parameters
| Name | Type | Description |
|---|---|---|
data | T | string | 输入值 |
Returns: GeoBounds
获取的范围值
# getOptionValue
▸ getOptionValue<T>(a: T): T
Get first defined value.
Specialized "replacement" for a || b || c used frequently to get value from various sources
(defaults, configs constants).
In contrast to ||, this function provides proper typing for usual use cases (constant as last
argument) and correct treatment of null and undefined.
If last parameter is "defined" then return type is T, otherwise return type is T | undefined.
Usage example:
interface Config {
x?: number;
}
const someConfig: Config = {};
const val: number | undefined = undefined;
const DEFAULT = 5;
const x = getOptionValue(val, someConfig.x, DEFAULT);
// typeof x === 'number' because DEFAULT is defined
const y = getOptionValue(val, someConfig.x);
// typeof y === 'number | undefined' because someConfig.x is possibly undefined
# Type parameters
| Name |
|---|
T |
# Parameters
| Name | Type |
|---|---|
a | T |
Returns: T
▸ getOptionValue<T>(a: T | undefined, b: T): T
# Type parameters
| Name |
|---|
T |
# Parameters
| Name | Type |
|---|---|
a | T | undefined |
b | T |
Returns: T
▸ getOptionValue<T>(a: T | undefined, b: T | undefined, c: T): T
# Type parameters
| Name |
|---|
T |
# Parameters
| Name | Type |
|---|---|
a | T | undefined |
b | T | undefined |
c | T |
Returns: T
▸ getOptionValue<T>(a: T | undefined, b: T | undefined, c: T | undefined, d: T): T
# Type parameters
| Name |
|---|
T |
# Parameters
| Name | Type |
|---|---|
a | T | undefined |
b | T | undefined |
c | T | undefined |
d | T |
Returns: T
▸ getOptionValue<T>(...values: (T | undefined)[]): T | undefined
# Type parameters
| Name |
|---|
T |
# Parameters
| Name | Type |
|---|---|
...values | (T | undefined)[] |
Returns: T | undefined
# getTempMapId
▸ getTempMapId(expireTime?: number, isVisible?: boolean): string
获取一个临时的图id(临时图形只会用临时查看,过期会自动删除)
# Parameters
| Name | Type | Description |
|---|---|---|
expireTime? | number | 临时图形不浏览情况下过期自动删除时间,单位分钟。默认30 |
isVisible? | boolean | 是否可见,(可见的话,将可通过ListMaps获取,否则为隐藏图)。默认不可见 |
Returns: string
# hexToBinStr
▸ hexToBinStr(strHex: string, isPadding?: boolean, reverse?: boolean): string
十六进制字符串转二进制字符串(可用于协同图形,图层开头显示设置的转换)
# Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
strHex | string | - | 十进制的内容 |
isPadding | boolean | true | 前面是否自动0,默认true |
reverse | boolean | true | 结果倒序,默认true |
Returns: string
# htmlColorToEntColor
▸ htmlColorToEntColor(color: string): number
html颜色转实体颜色
# Parameters
| Name | Type | Description |
|---|---|---|
color | string | html |
Returns: number
# interpolateLineRange
▸ interpolateLineRange(points: GeoPointLike[] | any, number: number, isLngLat?: boolean, offsetDist?: number, minGap?: number, includeSrcPoint?: boolean): any[]
# Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
points | GeoPointLike[] | any | - | 要插值的(多段)线的顶点(输入必须为经纬度). |
number | number | - | 沿线插入的点数;这包括端点,并且有效最小值为 2(如果给出较小的数字,则仍将返回端点). |
isLngLat | boolean | false | 点坐标序列是否是经纬度坐标 |
offsetDist | number | 0 | 一个可选的垂直距离,用于从线段偏移每个点,否则它会位于. |
minGap | number | 0 | 在后续插值点之间保持可选的最小间隙;如果一组“number”点的后续点之间的投影间隙低于此值,则“number”将减小到合适的值. |
includeSrcPoint | boolean | true | 包括原有点 |
Returns: any[]
# interpolatePointsByRatio
▸ interpolatePointsByRatio(points: GeoPointLike[] | any, ratio: number, isLngLat?: boolean): any[]
通过比例(0-1)的值,得到坐标序列的点坐标的值
# Parameters
| Name | Type | Default value |
|---|---|---|
points | GeoPointLike[] | any | - |
ratio | number | - |
isLngLat | boolean | false |
Returns: any[]
# isClosedPolygon
▸ isClosedPolygon(points: GeoPoint[]): boolean
多边形是否闭合
# Parameters
| Name | Type |
|---|---|
points | GeoPoint[] |
Returns: boolean
# isCounterClockwise
▸ isCounterClockwise(a: GeoPoint, b: GeoPoint, c: GeoPoint): boolean
指示提供的点是按逆时针(真)还是顺时针(假)顺序排列
# Parameters
| Name | Type |
|---|---|
a | GeoPoint |
b | GeoPoint |
c | GeoPoint |
Returns: boolean
# isGeoPointLike
▸ isGeoPointLike(geoPoint: any): geoPoint is GeoPointLike
A GeoPointLike object, an array of two numbers representing longitude and latitude,
or an object with lng and lat or lon and lat properties.
Example:
const center = { lat: 53.3, lng: 13.4 };
mapView.geoCenter = GeoCoordinates.fromLatLng(center);
2
# Parameters
| Name | Type |
|---|---|
geoPoint | any |
Returns: geoPoint is GeoPointLike
# isPointInPolygon
▸ Const isPointInPolygon(pos: GeoPoint, polygon: GeoPoint[]): boolean
判断点是否在多边形内。
# Parameters
| Name | Type | Description |
|---|---|---|
pos | GeoPoint | 点 |
polygon | GeoPoint[] | 多边形坐标 |
Returns: boolean
# isZero
▸ isZero(value: number, precision?: number): boolean
判断是否为零
# Parameters
| Name | Type | Description |
|---|---|---|
value | number | 值 |
precision? | number | 精度,缺省1e-6 |
Returns: boolean
# kebabCase
▸ Const kebabCase(s: any): any
# Parameters
| Name | Type |
|---|---|
s | any |
Returns: any
# lineSplit
▸ lineSplit(line: GeoPoint[], splitLine: GeoPoint[], dotErr?: number): GeoPoint[][]
线被另外一条线分开多条线段,返回新的线段
# Parameters
| Name | Type | Description |
|---|---|---|
line | GeoPoint[] | |
splitLine | GeoPoint[] | |
dotErr? | number | 允许误差的小数点后几位,默认6位 |
Returns: GeoPoint[][]
# metersPerPixel
▸ metersPerPixel(zoomLevel: number, latitude?: number): number
求不同级级别下,每米表示多少像素
# Parameters
| Name | Type | Description |
|---|---|---|
zoomLevel | number | 级别从0表示 |
latitude? | number | 纬度 |
Returns: number
# multiLineSplit
▸ multiLineSplit(lines: GeoPoint[][], dotErr?: number): GeoPoint[][]
多条线之间根据交点相互分开,返回相交后的所有线段,请确保每条线段不要自相交
# Parameters
| Name | Type | Description |
|---|---|---|
lines | GeoPoint[][] | |
dotErr? | number | 允许误差的小数点后几位,默认6位 |
Returns: GeoPoint[][]
# offsetPointLine
▸ offsetPointLine(points: GeoPoint[], distance: number): any[]
# Parameters
| Name | Type |
|---|---|
points | GeoPoint[] |
distance | number |
Returns: any[]
# offsetPoints
▸ offsetPoints(pts: GeoPointLike[], options: { offset: number ; smoothFactor?: number }): any[]
# Parameters
| Name | Type |
|---|---|
pts | GeoPointLike[] |
options | object |
options.offset | number |
options.smoothFactor? | number |
Returns: any[]
# openMapDarkStyle
▸ openMapDarkStyle(): IMapStyleParam
打开地图的深色背景样式,值为 {backcolor: 0}
Returns: IMapStyleParam
# openMapLightStyle
▸ openMapLightStyle(): IMapStyleParam
打开地图的浅色色背景样式,值为 {backcolor: 0xFFFFFF}
Returns: IMapStyleParam
# pick
▸ pick<T, K>(object: T, props: K[]): Pick<T, K>
Pick props from `object.
Runtime version of Pick<T,K>.
# Type parameters
| Name | Type |
|---|---|
T | object |
K | string | number | symbol |
# Parameters
| Name | Type |
|---|---|
object | T |
props | K[] |
Returns: Pick<T, K>
# pixelValue
▸ pixelValue(meters: number, zoomLevel: number, latitude?: number): number
不同级别下根据米数来求像素值
# Parameters
| Name | Type | Description |
|---|---|---|
meters | number | 米 |
zoomLevel | number | 级别从0表示 |
latitude? | number | 纬度 |
Returns: number
# pointToSegmentDistance
▸ pointToSegmentDistance(p: GeoPoint, p1: GeoPoint, p2: GeoPoint): number
点到线段的距离
# Parameters
| Name | Type |
|---|---|
p | GeoPoint |
p1 | GeoPoint |
p2 | GeoPoint |
Returns: number
# polygonCentroid
▸ polygonCentroid(vertices: GeoPoint[]): GeoPoint
根据 [x,y] 坐标列表计算多边形的质心。
# Parameters
| Name | Type | Description |
|---|---|---|
vertices | GeoPoint[] | 顶点坐标 |
Returns: GeoPoint
# polygonIsClockwise
▸ polygonIsClockwise(points: GeoPoint[]): boolean
根据格林公式判断多边形是否为顺时针
# Parameters
| Name | Type |
|---|---|
points | GeoPoint[] |
Returns: boolean
false:逆时针
# polylineMarginToPolygon
▸ polylineMarginToPolygon(pts: GeoPointLike[], options: { arcSegments?: number ; offset: number ; smoothFactor?: number }): any
把多段线往外扩展成多边形
# Parameters
| Name | Type |
|---|---|
pts | GeoPointLike[] |
options | object |
options.arcSegments? | number |
options.offset | number |
options.smoothFactor? | number |
Returns: any
# radToDeg
▸ radToDeg(a: number): number
弧度转角度
# Parameters
| Name | Type |
|---|---|
a | number |
Returns: number
# randInt
▸ randInt(n: number, m: number): number
生成一个区间的随机总数
# Parameters
| Name | Type |
|---|---|
n | number |
m | number |
Returns: number
# randomColor
▸ randomColor(): string
生成随机颜色
Returns: string
# segmentIntersect
▸ segmentIntersect(x1: number, y1: number, x2: number, y2: number, x3: number, y3: number, x4: number, y4: number): { ratio: undefined ; result: string = "COLINEAR"; status: boolean = false; x: undefined ; y: undefined } | { ratio: number ; result: undefined = "COLINEAR"; status: boolean = true; x: number ; y: number }
线段相交
# Parameters
| Name | Type |
|---|---|
x1 | number |
y1 | number |
x2 | number |
y2 | number |
x3 | number |
y3 | number |
x4 | number |
y4 | number |
Returns: { ratio: undefined ; result: string = "COLINEAR"; status: boolean = false; x: undefined ; y: undefined } | { ratio: number ; result: undefined = "COLINEAR"; status: boolean = true; x: number ; y: number }
| {result: string, status: boolean} | {x: number, y: number, status: boolean, ratio: number} | {result: string, status: boolean}}
# simplify
▸ simplify(points: GeoPoint[], tolerance?: number): GeoPoint[]
简化点坐标
# Parameters
| Name | Type |
|---|---|
points | GeoPoint[] |
tolerance? | number |
Returns: GeoPoint[]
# syncMaps
▸ syncMaps(...args: Map[]): function
同步两张地图的移动。
# Parameters
| Name | Type |
|---|---|
...args | Map[] |
Returns: () => void
# toRadian
▸ toRadian(a: number): number
Convert Degree To Radian
# Parameters
| Name | Type | Description |
|---|---|---|
a | number | Angle in Degrees |
Returns: number
# upperCamelCase
▸ Const upperCamelCase(s: any): any
# Parameters
| Name | Type |
|---|---|
s | any |
Returns: any
# utf8ToUnicode
▸ utf8ToUnicode(strUtf8: string): string
utf8转unicode
# Parameters
| Name | Type | Description |
|---|---|---|
strUtf8 | string | utf8的内容 |
Returns: string
# vectorContour
▸ vectorContour(featureCollection: FeatureCollection, weight: string, breaks: number[], params?: { alpha?: number ; canvas?: HTMLCanvasElement ; colors?: string[] ; extent?: [number, number, number, number] ; model?: "exponential" | "gaussian" | "spherical" ; sigma2?: number ; width?: number ; xlim?: number ; ylim?: number }): object
生成矢量等值面
# Parameters
| Name | Type | Description |
|---|---|---|
featureCollection | FeatureCollection | - |
weight | string | - |
breaks | number[] | - |
params? | object | params:{ model:'exponential','gaussian','spherical',三选一,默认exponential sigma2: 0, // sigma2是σ²,对应高斯过程的方差参数,也就是这组数据z的距离,方差参数σ²的似然性反映了高斯过程中的误差,并应手动设置。一般设置为 0 ,其他数值设了可能会出空白图 alpha: 100, // Alpha α对应方差函数的先验值,此参数可能控制钻孔扩散范围,越小范围越大,少量点效果明显,但点多了且分布均匀以后改变该数字即基本无效果了,默认设置为100 canvas: HTMLCanvasElement, // 如果要渲染到画布上填这个 xlim: number, // canvas有效 ylim: number, // canvas有效 colors:string[] // canvas有效 等值面分级区间 width: number // 生成等值线宽度参数。像素长度。默认200。宽度值越大,绘制越精确,但也会导致速度变慢,内存占用越多 } |
params.alpha? | number | - |
params.canvas? | HTMLCanvasElement | - |
params.colors? | string[] | - |
params.extent? | [number, number, number, number] | - |
params.model? | "exponential" | "gaussian" | "spherical" | - |
params.sigma2? | number | - |
params.width? | number | - |
params.xlim? | number | - |
params.ylim? | number | - |
Returns: object
| Name | Type |
|---|---|
alg? | any |
contour? | FeatureCollection |
grid? | object |
grid.grid | number[] |
grid.m | number |
grid.n | number |
grid.x_resolution | number |
grid.xlim | number |
grid.y_resolution | number |
grid.ylim | number |
grid.zlim | number |
variogram? | any |