# 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 RegExp
s 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 |