Constructor
new MapPlugin(options)
构造函数
Parameters:
Name | Type | Description |
---|---|---|
options |
Object | 参数 { terrain:是否启用地形 默认false,注意如果默认开启地形,那么plugin.setDefaultCamera初始高度不能低于1000米 ui:是否需要Map UI控件 默认true offlineTerrain:离线地形,数据为terrain-rgb瓦片,数据格式:{ baseUrl:'http://localhost:8888/my_terrain',minZoom:1,maxZoom:18} terrainFast:是否启用地形加速 默认false,地形加速需要在开启地形的条件下进行地形快速绘制,但无法得到高程数据,如果地形只是作为背景,不需要获得地形高程信息,那么开启该功能可以提升性能 } |
Methods
addWater(url)
加载水面数据
Parameters:
Name | Type | Description |
---|---|---|
url |
* | 一组包含经纬度的地理坐标点数据json |
disposeGeoJson()
销毁所有的geojson资源
flyTo(param0, param1)
相机动画飞行
Parameters:
Name | Type | Description |
---|---|---|
param0 |
object | {latitude, longitude,height,pitch=0,yaw=0} |
param1 |
object | {duration = 3000,middleHeight = 300000,callback = null} |
jumpBack()
场景跳回地图
jumpTo(modelId)
场景跳转到模型
Parameters:
Name | Type | Description |
---|---|---|
modelId |
* |
loadBIM(options)
在地图中加载BIM模型,模型的中心点落在该经纬度上,返回Promise,该函数已废弃,建议采用viewer.load(url,options);
Parameters:
Name | Type | Description |
---|---|---|
options |
Object | 加载参数对象 url 文件url地址 modelId 模型id,确保唯一,默认使用时间戳 latitude 纬度 longitude 经度 offset BIMI.THREE.Vector3 位置偏移向量 默认(0,0,0) scale BIMI.THREE.Vector3 缩放向量 默认(1,1,1) rotate BIMI.THREE.Vector3 旋转向量,xyz三轴的旋转角度 默认(0,0,0) |
loadFBX(options)
在地图中加载FBX模型,模型的中心点落在该经纬度上,返回Promise,该函数已废弃,建议采用viewer.load(url,options);
Parameters:
Name | Type | Description |
---|---|---|
options |
* | url 文件url地址 modelId 模型id,确保唯一,默认使用时间戳 latitude 纬度 longitude 经度 offset BIMI.THREE.Vector3 位置偏移向量 默认(0,0,0) scale BIMI.THREE.Vector3 缩放向量 默认(1,1,1) rotate BIMI.THREE.Vector3 旋转向量,xyz三轴的旋转角度 默认(0,0,0) |
loadGLTF(options)
在地图中加载GLTF模型,模型的中心点落在该经纬度上,返回Promise,该函数已废弃,建议采用viewer.load(url,options);
Parameters:
Name | Type | Description |
---|---|---|
options |
* | url 文件url地址 modelId 模型id,确保唯一,默认使用时间戳 latitude 纬度 longitude 经度 offset BIMI.THREE.Vector3 位置偏移向量 默认(0,0,0) scale BIMI.THREE.Vector3 缩放向量 默认(1,1,1) rotate BIMI.THREE.Vector3 旋转向量,xyz三轴的旋转角度 默认(0,0,0) |
loadGeoJson(url, options, callback)
加载geojson
Parameters:
Name | Type | Description |
---|---|---|
url |
* | |
options |
* | |
callback |
* | 回调函数,参数包含geojson的THREE.Group对象 |
loadIsoline(id, url, param, offsetHeight)
加载等值线
Parameters:
Name | Type | Description |
---|---|---|
id |
String/Number | 等值线对象,可以通过id对等值线对象进行显示/隐藏/销毁等操作 |
url |
String | xmap程序提供的等值线服务url,xmap是bimi引擎提供的针对GIS高级功能的后台服务程序。 |
param |
Object | 等值线参数对象。格式例如: let param = { //样本点 samples:[ {latitude:31.263594,longitude:120.843610,value:80}, {latitude:31.263594,longitude:120.943610,value:20}, {latitude:31.263594,longitude:121.043610,value:60}, {latitude:31.263594,longitude:121.143610,value:10}, {latitude:31.263594,longitude:121.243610,value:100}, {latitude:31.093232,longitude:120.843610,value:0}, {latitude:31.093232,longitude:120.943610,value:20}, {latitude:31.093232,longitude:121.043610,value:50}, {latitude:31.093232,longitude:121.143610,value:30}, {latitude:31.093232,longitude:121.243610,value:0}, {latitude:30.936382,longitude:120.843610,value:60}, {latitude:30.936382,longitude:120.943610,value:20}, {latitude:30.936382,longitude:121.043610,value:80}, {latitude:30.936382,longitude:121.143610,value:10}, {latitude:30.936382,longitude:121.243610,value:80}, ], //范围,由左上角和右下角两点坐标组成 bounds:[30.836931,120.730107,31.344308,121.448660], //取值段落 legend:[5,30,50,70,90], //每个取值段落的填充样式定义,注意,要包含小于最小的,和大于最大的两端定义 fillStyle:[ {color:'#ffffff',opacity:0.5}, //<5 {color:'#00c0ff',opacity:0.5}, //5-30 {color:'#0056ff',opacity:0.5}, //30-50 {color:'#ff884d',opacity:0.5}, //50-70 {color:'#ff4a00',opacity:0.5}, //70-90 {color:'#ff0000',opacity:0.5} //>90 ], //裁剪边界,是个geojson的polygon对象,通常为行政边界的geojson数据 clip:geojson } |
offsetHeight |
Numher | 等值线渲染的mesh对象离地面高度,注意负数表示高出地面,正数表示低于地面,默认值-1,表示离地1米的高度 |
Returns:
Promise
loadOBJ(options)
在地图中加载OBJ模型,模型的中心点落在该经纬度上,返回Promise,该函数已废弃,建议采用viewer.load(url,options);
Parameters:
Name | Type | Description |
---|---|---|
options |
* | url 文件url地址 modelId 模型id,确保唯一,默认使用时间戳 latitude 纬度 longitude 经度 offset BIMI.THREE.Vector3 位置偏移向量 默认(0,0,0) scale BIMI.THREE.Vector3 缩放向量 默认(1,1,1) rotate BIMI.THREE.Vector3 旋转向量,xyz三轴的旋转角度 默认(0,0,0) |
moveTo(param0)
相机直接移动到指定位置
Parameters:
Name | Type | Description |
---|---|---|
param0 |
object | {latitude, longitude,height,pitch=0,yaw=0} |
Returns:
state数据对象
removeGeoJson(id)
移除一个geojson对象
Parameters:
Name | Type | Description |
---|---|---|
id |
* |
setDefaultCamera(param)
设置相机初始位置
Parameters:
Name | Type | Description |
---|---|---|
param |
object | 位置参数
{
latitude: 纬度 longitude: 经度 height: 高度(米) pitch:相机俯仰角(绕X轴) ,默认-90,垂直向下 yaw:相机旋转角(绕Y轴),默认0,对准北方 } |
setMapOpacity(opacity)
设置地图不透明度
Parameters:
Name | Type | Description |
---|---|---|
opacity |
Number | 不透明度,默认1.0 |
setModelPosition(modelId, latitude, longitude, offset, scale, rotate)
设置模型在地图上的位置,该函数已废弃,建议采用viewer.setModelPosition(modelId,{
latitude:latitude,
longitude:longitude,
offset:offset,
scale:scale,
rotate:rotate
});
Parameters:
Name | Type | Description |
---|---|---|
modelId |
Number | String | 模型ID |
latitude |
Number | 纬度 |
longitude |
Number | 经度 |
offset |
BIMI.THREE.Vector3 | 位置偏移量 |
scale |
BIMI.THREE.Vector3 | 模型缩放量 |
rotate |
BIMI.THREE.Vector3 | 模型旋转量 |
showSky(visible)
显示天空盒
Parameters:
Name | Type | Description |
---|---|---|
visible |
boolean | 默认true |
useBingMaps(apiToken, style)
使用BingMaps地图
Parameters:
Name | Type | Description |
---|---|---|
apiToken |
* | bingmaps token |
style |
* | bingmaps地图样式 可选项 : BingMapsProvider.AERIAL 卫星 默认值 BingMapsProvider.ROAD 矢量 BingMapsProvider.AERIAL_LABELS 卫星+拼音标记 |
useMapBox(apiToken, style)
使用MapBox地图
Parameters:
Name | Type | Description |
---|---|---|
apiToken |
* | mapbox token |
style |
* | mapbox地图style id 可选项: - mapbox/streets-v10 矢量 - mapbox/outdoors-v10 矢量 - mapbox/light-v9 矢量 - mapbox/dark-v9 矢量,这个有名气啊 - mapbox/satellite-v9 卫星 默认值 - mapbox/satellite-streets-v10 卫星+路网 - mapbox/navigation-preview-day-v4 矢量 - mapbox/navigation-preview-night-v4 矢量 - mapbox/navigation-guidance-day-v4 矢量 - mapbox/navigation-guidance-night-v4 矢量 |
useOfflineMaps(baseUrl, minZoom, maxZoom, format)
使用离线瓦片地图
Parameters:
Name | Type | Description |
---|---|---|
baseUrl |
* | 地图服务基础URL,例如:'http://192.168.1.32:8888/offlineMaps' |
minZoom |
* | 最小级别 |
maxZoom |
* | 最大级别 |
format |
* | 地图图片后缀名,默认 '.jpg' |
useTDTMaps(apiToken, style)
使用天地图地图,天地图有调用限制,正式使用请自己申请企业版token
Parameters:
Name | Type | Description |
---|---|---|
apiToken |
* | 天地图token |
style |
* | 地图样式 可选项 : TianDiTuMapsProvider.SATELLITE 卫星 TianDiTuMapsProvider.ROAD 矢量 |
useTerrain(use)
切换地形
Parameters:
Name | Type | Description |
---|---|---|
use |
* | 默认false |
zoomToModel(modelId, fitOffset, fly, duration, middleHeight, callback)
相机定位到某个模型
Parameters:
Name | Type | Description |
---|---|---|
modelId |
String/Number | 模型ID |
fitOffset |
* | 聚焦距离指数,默认1.2 |
fly |
* | 是否飞行动画 默认true |
duration |
* | 飞行事件 默认3000 |
middleHeight |
* | 飞行高度 默认300000 |
callback |
* | 飞行动画结束回调函数,默认null |