---
title: Interface: ThreeJsContext
source: https://vjmap.com/doc/Interface_ThreeJsContext.html
---

# Interface: ThreeJsContext

### Table of contents

#### Methods

- [Object3D](#object3d)
- [add](#add)
- [clear](#clear)
- [coneMesh](#conemesh)
- [createSkyLayer](#createskylayer)
- [createTerrainLayer](#createterrainlayer)
- [defaultLights](#defaultlights)
- [dispose](#dispose)
- [extrusion](#extrusion)
- [findParent3DObject](#findparent3dobject)
- [flyline](#flyline)
- [getFeatureCenter](#getfeaturecenter)
- [getObjectHeightOnFloor](#getobjectheightonfloor)
- [getSunPosition](#getsunposition)
- [getSunSky](#getsunsky)
- [getSunTimes](#getsuntimes)
- [getWorldSize](#getworldsize)
- [label](#label)
- [line](#line)
- [loadTexture](#loadtexture)
- [mapToWorld](#maptoworld)
- [mapToWorldLength](#maptoworldlength)
- [memory](#memory)
- [programs](#programs)
- [projectToWorld](#projecttoworld)
- [projectedUnitsPerMeter](#projectedunitspermeter)
- [queryRenderedFeatures](#queryrenderedfeatures)
- [radar](#radar)
- [radialGradient](#radialgradient)
- [realSunlight](#realsunlight)
- [remove](#remove)
- [removeByName](#removebyname)
- [removeLayer](#removelayer)
- [repaint](#repaint)
- [setBuildingShadows](#setbuildingshadows)
- [setDefaultView](#setdefaultview)
- [setLayerHeigthProperty](#setlayerheigthproperty)
- [setLayerZoomRange](#setlayerzoomrange)
- [setLayoutProperty](#setlayoutproperty)
- [setObjectsScale](#setobjectsscale)
- [setStyle](#setstyle)
- [setSunlight](#setsunlight)
- [sphere](#sphere)
- [toggle](#toggle)
- [toggleLayer](#togglelayer)
- [tooltip](#tooltip)
- [tube](#tube)
- [unprojectFromWorld](#unprojectfromworld)
- [update](#update)
- [updateLightHelper](#updatelighthelper)
- [updateSunGround](#updatesunground)
- [updateSunSky](#updatesunsky)
- [wall](#wall)
- [wave](#wave)
- [waveWall](#wavewall)
- [worldToMapLength](#worldtomaplength)

### Methods

#### Object3D

▸ **Object3D**(`options`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `options` | *any* |

**Returns:** *any*

___

#### add

▸ **add**(`obj`: *any*, `layerId?`: *string*, `sourceId?`: *string*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `obj` | *any* |
| `layerId?` | *string* |
| `sourceId?` | *string* |

**Returns:** *any*

___

#### clear

▸ **clear**(`layerId?`: *string*, `dispose?`: *boolean*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `layerId?` | *string* |
| `dispose?` | *boolean* |

**Returns:** *any*

___

#### coneMesh

▸ **coneMesh**(`co`: [*GeoPoint*](#classesdefaultgeopointmd), `opts?`: { `animation?`: *boolean* ; `animationUpDown?`: *boolean* ; `color?`: *string* \| *number* ; `height?`: *number* ; `obj3dOpts?`: *object* ; `size?`: *number*  }): *any*

创建一个四棱锥

##### Parameters

| Name | Type |
| :------ | :------ |
| `co` | [*GeoPoint*](#classesdefaultgeopointmd) |
| `opts?` | *object* |
| `opts.animation?` | *boolean* |
| `opts.animationUpDown?` | *boolean* |
| `opts.color?` | *string* \| *number* |
| `opts.height?` | *number* |
| `opts.obj3dOpts?` | *object* |
| `opts.size?` | *number* |

**Returns:** *any*

___

#### createSkyLayer

▸ **createSkyLayer**(): *void*

**Returns:** *void*

___

#### createTerrainLayer

▸ **createTerrainLayer**(): *void*

**Returns:** *void*

___

#### defaultLights

▸ **defaultLights**(): *any*

**Returns:** *any*

___

#### dispose

▸ **dispose**(): *any*

**Returns:** *any*

___

#### extrusion

▸ **extrusion**(`options`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `options` | *any* |

**Returns:** *any*

___

#### findParent3DObject

▸ **findParent3DObject**(`mesh`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `mesh` | *any* |

**Returns:** *any*

___

#### flyline

▸ **flyline**(`opts`: { `color`: *string* \| *number* ; `color2?`: *string* \| *number* ; `count?`: *number* ; `height?`: *number* ; `opacity?`: *number* ; `range?`: *number* ; `size?`: *number* ; `source`: [*GeoPoint*](#classesdefaultgeopointmd) ; `speed?`: *number* ; `target`: [*GeoPoint*](#classesdefaultgeopointmd)  }): *any*

 创建一条飞行线

##### Parameters

| Name | Type |
| :------ | :------ |
| `opts` | *object* |
| `opts.color` | *string* \| *number* |
| `opts.color2?` | *string* \| *number* |
| `opts.count?` | *number* |
| `opts.height?` | *number* |
| `opts.opacity?` | *number* |
| `opts.range?` | *number* |
| `opts.size?` | *number* |
| `opts.source` | [*GeoPoint*](#classesdefaultgeopointmd) |
| `opts.speed?` | *number* |
| `opts.target` | [*GeoPoint*](#classesdefaultgeopointmd) |

**Returns:** *any*

___

#### getFeatureCenter

▸ **getFeatureCenter**(`feature`: *any*, `obj`: *any*, `level`: *number*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `feature` | *any* |
| `obj` | *any* |
| `level` | *number* |

**Returns:** *any*

___

#### getObjectHeightOnFloor

▸ **getObjectHeightOnFloor**(`coords`: *any*, `obj`: *any*, `level`: *number*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `coords` | *any* |
| `obj` | *any* |
| `level` | *number* |

**Returns:** *any*

___

#### getSunPosition

▸ **getSunPosition**(`date`: *any*, `coords`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `date` | *any* |
| `coords` | *any* |

**Returns:** *any*

___

#### getSunSky

▸ **getSunSky**(`date`: *any*, `sunPos`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `date` | *any* |
| `sunPos` | *any* |

**Returns:** *any*

___

#### getSunTimes

▸ **getSunTimes**(`date`: *any*, `coords`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `date` | *any* |
| `coords` | *any* |

**Returns:** *any*

___

#### getWorldSize

▸ **getWorldSize**(): *number*

threejs世界坐标总长度.

**Returns:** *number*

___

#### label

▸ **label**(`options`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `options` | *any* |

**Returns:** *any*

___

#### line

▸ **line**(`options`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `options` | *any* |

**Returns:** *any*

___

#### loadTexture

▸ **loadTexture**(`img`: *string*, `defaultImg?`: *string*): *any*

加载材质，要使用base64图片，返回 `THREE.Texture` 对象.

##### Parameters

| Name | Type |
| :------ | :------ |
| `img` | *string* |
| `defaultImg?` | *string* |

**Returns:** *any*

___

#### mapToWorld

▸ **mapToWorld**(`coords`: *any*): *any*

地图几何坐标转threejs世界坐标.

##### Parameters

| Name | Type |
| :------ | :------ |
| `coords` | *any* |

**Returns:** *any*

___

#### mapToWorldLength

▸ **mapToWorldLength**(`coords`: *any*): *any*

threejs世界坐标地转图几何坐标.

##### Parameters

| Name | Type |
| :------ | :------ |
| `coords` | *any* |

**Returns:** *any*

▸ **mapToWorldLength**(`len`: *number*): *number*

地图几何长度转threejs世界坐标长度.

##### Parameters

| Name | Type |
| :------ | :------ |
| `len` | *number* |

**Returns:** *number*

___

#### memory

▸ **memory**(): *any*

**Returns:** *any*

___

#### programs

▸ **programs**(): *any*

**Returns:** *any*

___

#### projectToWorld

▸ **projectToWorld**(`coords`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `coords` | *any* |

**Returns:** *any*

___

#### projectedUnitsPerMeter

▸ **projectedUnitsPerMeter**(`lat`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `lat` | *any* |

**Returns:** *any*

___

#### queryRenderedFeatures

▸ **queryRenderedFeatures**(`point`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `point` | *any* |

**Returns:** *any*

___

#### radar

▸ **radar**(`co`: [*GeoPoint*](#classesdefaultgeopointmd), `opts?`: { `color1?`: *string* \| *number* ; `color2?`: *string* \| *number* ; `size?`: *number* ; `speed?`: *number* ; `texture1`: *string* ; `texture2`: *string*  }): *any*

创建一个扫描雷达

##### Parameters

| Name | Type |
| :------ | :------ |
| `co` | [*GeoPoint*](#classesdefaultgeopointmd) |
| `opts?` | *object* |
| `opts.color1?` | *string* \| *number* |
| `opts.color2?` | *string* \| *number* |
| `opts.size?` | *number* |
| `opts.speed?` | *number* |
| `opts.texture1` | *string* |
| `opts.texture2` | *string* |

**Returns:** *any*

___

#### radialGradient

▸ **radialGradient**(`co`: [*GeoPoint*](#classesdefaultgeopointmd), `opts?`: { `color?`: *any* ; `size?`: *number* ; `speed?`: *number*  }): *any*

创建一个径向渐变球

##### Parameters

| Name | Type |
| :------ | :------ |
| `co` | [*GeoPoint*](#classesdefaultgeopointmd) |
| `opts?` | *object* |
| `opts.color?` | *any* |
| `opts.size?` | *number* |
| `opts.speed?` | *number* |

**Returns:** *any*

___

#### realSunlight

▸ **realSunlight**(`helper?`: *boolean*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `helper?` | *boolean* |

**Returns:** *any*

___

#### remove

▸ **remove**(`obj`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `obj` | *any* |

**Returns:** *any*

___

#### removeByName

▸ **removeByName**(`name`: *string*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `name` | *string* |

**Returns:** *any*

___

#### removeLayer

▸ **removeLayer**(`layerId`: *string*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `layerId` | *string* |

**Returns:** *any*

___

#### repaint

▸ **repaint**(): *void*

**Returns:** *void*

___

#### setBuildingShadows

▸ **setBuildingShadows**(`options`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `options` | *any* |

**Returns:** *any*

___

#### setDefaultView

▸ **setDefaultView**(`options`: *any*, `defOptions`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `options` | *any* |
| `defOptions` | *any* |

**Returns:** *any*

___

#### setLayerHeigthProperty

▸ **setLayerHeigthProperty**(`layerId`: *string*, `level`: *number*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `layerId` | *string* |
| `level` | *number* |

**Returns:** *any*

___

#### setLayerZoomRange

▸ **setLayerZoomRange**(`layerId`: *string*, `minZoomLayer`: *number*, `maxZoomLayer`: *number*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `layerId` | *string* |
| `minZoomLayer` | *number* |
| `maxZoomLayer` | *number* |

**Returns:** *any*

___

#### setLayoutProperty

▸ **setLayoutProperty**(`layerId`: *string*, `name`: *string*, `value`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `layerId` | *string* |
| `name` | *string* |
| `value` | *any* |

**Returns:** *any*

___

#### setObjectsScale

▸ **setObjectsScale**(): *any*

**Returns:** *any*

___

#### setStyle

▸ **setStyle**(`styleId`: *string*, `options`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `styleId` | *string* |
| `options` | *any* |

**Returns:** *any*

___

#### setSunlight

▸ **setSunlight**(`newDate`: *any*, `coords`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `newDate` | *any* |
| `coords` | *any* |

**Returns:** *any*

___

#### sphere

▸ **sphere**(`options`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `options` | *any* |

**Returns:** *any*

___

#### toggle

▸ **toggle**(`layerId`: *string*, `visible?`: *boolean*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `layerId` | *string* |
| `visible?` | *boolean* |

**Returns:** *any*

___

#### toggleLayer

▸ **toggleLayer**(`layerId`: *string*, `visible?`: *boolean*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `layerId` | *string* |
| `visible?` | *boolean* |

**Returns:** *any*

___

#### tooltip

▸ **tooltip**(`options`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `options` | *any* |

**Returns:** *any*

___

#### tube

▸ **tube**(`options`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `options` | *any* |

**Returns:** *any*

___

#### unprojectFromWorld

▸ **unprojectFromWorld**(`v3`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `v3` | *any* |

**Returns:** *any*

___

#### update

▸ **update**(): *any*

**Returns:** *any*

___

#### updateLightHelper

▸ **updateLightHelper**(): *any*

**Returns:** *any*

___

#### updateSunGround

▸ **updateSunGround**(`sunPos`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `sunPos` | *any* |

**Returns:** *any*

___

#### updateSunSky

▸ **updateSunSky**(`sunPos`: *any*): *any*

##### Parameters

| Name | Type |
| :------ | :------ |
| `sunPos` | *any* |

**Returns:** *any*

___

#### wall

▸ **wall**(`pts`: [*GeoPoint*](#classesdefaultgeopointmd)[], `opts?`: { `color1?`: *string* \| *number* ; `color2?`: *string* \| *number* ; `flyline?`: *boolean* ; `height?`: *number* ; `obj3dOpts?`: *object* ; `offsetX?`: *number* ; `offsetY?`: *number* ; `opacity?`: *number* ; `repeatX?`: *number* ; `repeatY?`: *number* ; `texture1?`: *string* ; `texture2?`: *string*  }): *any*

创建一个立体光墙

##### Parameters

| Name | Type |
| :------ | :------ |
| `pts` | [*GeoPoint*](#classesdefaultgeopointmd)[] |
| `opts?` | *object* |
| `opts.color1?` | *string* \| *number* |
| `opts.color2?` | *string* \| *number* |
| `opts.flyline?` | *boolean* |
| `opts.height?` | *number* |
| `opts.obj3dOpts?` | *object* |
| `opts.offsetX?` | *number* |
| `opts.offsetY?` | *number* |
| `opts.opacity?` | *number* |
| `opts.repeatX?` | *number* |
| `opts.repeatY?` | *number* |
| `opts.texture1?` | *string* |
| `opts.texture2?` | *string* |

**Returns:** *any*

___

#### wave

▸ **wave**(`co`: [*GeoPoint*](#classesdefaultgeopointmd), `opts?`: { `color?`: *string* \| *number* ; `size?`: *number* ; `speed?`: *number* ; `texture?`: *string*  }): *any*

创建一个波动光圈

##### Parameters

| Name | Type |
| :------ | :------ |
| `co` | [*GeoPoint*](#classesdefaultgeopointmd) |
| `opts?` | *object* |
| `opts.color?` | *string* \| *number* |
| `opts.size?` | *number* |
| `opts.speed?` | *number* |
| `opts.texture?` | *string* |

**Returns:** *any*

___

#### waveWall

▸ **waveWall**(`co`: [*GeoPoint*](#classesdefaultgeopointmd), `opts?`: { `color?`: *string* \| *number* ; `height?`: *number* ; `opacity?`: *number* ; `size?`: *number* ; `speed?`: *number* ; `texture?`: *string*  }): *any*

创建一个波动光圈

##### Parameters

| Name | Type |
| :------ | :------ |
| `co` | [*GeoPoint*](#classesdefaultgeopointmd) |
| `opts?` | *object* |
| `opts.color?` | *string* \| *number* |
| `opts.height?` | *number* |
| `opts.opacity?` | *number* |
| `opts.size?` | *number* |
| `opts.speed?` | *number* |
| `opts.texture?` | *string* |

**Returns:** *any*

___

#### worldToMapLength

▸ **worldToMapLength**(`len`: *number*): *number*

threejs世界坐标长度转地图几何长度.

##### Parameters

| Name | Type |
| :------ | :------ |
| `len` | *number* |

**Returns:** *number*


<a name="interfacesthreejscontextoptionsmd"></a>

[vjmap](#readmemd) / [Exports](#modulesmd) / ThreeJsContextOptions
