cloudfunctions/ClearingRedundantFolders/node_modules/@cloudbase/database/src/geo/multiLineString.ts
(开头部分) 1KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
import { SYMBOL_GEO_MULTI_LINE_STRING } from '../helper/symbol'
import { isArray, isNumber } from '../utils/type'
import { LineString } from './lineString'
import { ISerializedMultiLineString } from './interface'
/**
* 多个 LineString
*
* @author starkewang
*/
export class MultiLineString {
readonly lines: LineString[]
/**
* 初始化
*
* @param lines - LineString
*/
constructor(lines: LineString[]) {
if (!isArray(lines)) {
throw new TypeError(`"lines" must be of type LineString[]. Received type ${typeof lines}`)
}
if (lines.length === 0) {
throw new Error('Polygon must contain 1 linestring at least')
}
lines.forEach(line => {
if (!(line instanceof LineString)) {
throw new TypeError(`"lines" must be of type LineString[]. Received type ${typeof line}[]`)
}
})
this.lines = lines
}
parse(key) {
return {
[key]: {
type: 'MultiLineString',
coordinates: this.lines.map(line => {
return line.points.map(point => [point.longitude, point.latitude])
})
}
}
}
toJSON() {
return {
type: 'MultiLineString',
coordinates: this.lines.map(line => {
return line.points.map(point => [point.longitude, point.latitude])
})
}
}
static validate(multiLineString: ISerializedMultiLineString) {
if (multiLineString.type !== 'MultiLineString' || !isArray(multiLineString.coordinates)) {
return false
}
后面还有 14 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
