# new M3DModelCacheLayer(options)
M3D缓å˜å›¾å±‚
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
options |
Object | æž„é€ å‚æ•° |
url |
String | æœåŠ¡åŸºåœ°å€ï¼Œæ”¯æŒæ–‡ä»¶æœåŠ¡å’ŒIGSçš„M3DæœåŠ¡ |
renderer |
BaseRenderer | 渲染器, |
extendOptions |
Object | åˆå§‹åŒ–场景图层的é¢å¤–傿•°ï¼Œä¸‰ç»´å¼•擎专有的åˆå§‹åŒ–傿•°è¯·ä¼ å…¥æ¤å¯¹è±¡ |
extendProps |
Object | å˜å‚¨é¢å¤–傿•°çš„属性 |
支æŒå¦‚下方法:
[1ã€åŠ è½½å›¾å±‚èµ„æº][2ã€é€šè¿‡ä¼ 入的jsonæž„é€ å¹¶è¿”å›žä¸€ä¸ªæ–°çš„å›¾å±‚å¯¹è±¡]
[3ã€å¯¼å‡ºä¸ºjson对象]
[4ã€å…‹éš†å›¾å±‚对象]
[5ã€é€šè¿‡urlæž„é€ å›¾å±‚å¯¹è±¡]
示例
// ES5引入方å¼
const { M3DModelCacheLayer } = Zondy.Layer
// ES6引入方å¼
import { M3DModelCacheLayer } from "@mapgis/webclient-common"
const layer = new M3DModelCacheLayer({
// æœåŠ¡åŸºåœ°å€
url: 'æœåŠ¡åŸºåœ°å€'
// Cesium引擎的é¢å¤–åˆå§‹åŒ–傿•°
extendOptions: {
// å¼€å¯è‡ªåŠ¨è·³è½¬
autoReset: true
}
});
// ES5引入方å¼
const { M3DModelCacheLayer } = Zondy.Layer
const { UniqueValueRenderer } = Zondy.Renderer
const { SimpleFillSymbol,SimpleLineSymbol } = Zondy.Symbol
const { Color } = Zondy
// ES6引入方å¼
import { M3DModelCacheLayer,UniqueValueRenderer,SimpleFillSymbol,SimpleLineSymbol,Color } from "@mapgis/webclient-common"
// æž„é€ å•值渲染器
const renderer = new UniqueValueRenderer({
// ä¸“é¢˜å›¾è¿‡æ»¤å—æ®µå
field: "å—æ®µå",
// å•值专题图过滤æ¡ä»¶æ•°ç»„
uniqueValueInfos: [
{
// æŒ‡å®šå—æ®µå€¼
value: 'è¿‡æ»¤å—æ®µå€¼1',
// 匹é…到该值åŽçš„æ ·å¼
// M3D专题图仅支æŒSimpleFillSymbol符å·
symbol: new SimpleFillSymbol({
// 填充颜色
color: new Color(255, 0, 0)
})
},
{
// æŒ‡å®šå—æ®µå€¼
value: 'è¿‡æ»¤å—æ®µå€¼2',
// 匹é…到该值åŽçš„æ ·å¼
// M3D专题图仅支æŒSimpleFillSymbol符å·
symbol: new SimpleFillSymbol({
// 填充颜色
color: 'rgb(255, 123, 220)'
})
}
]
})
// æž„é€ æ¨¡åž‹ç¼“å˜å›¾å±‚
const layer = new M3DModelCacheLayer({
// æœåŠ¡åŸºåœ°å€
url: 'æœåŠ¡åŸºåœ°å€',
// 设置专题图渲染器
renderer: renderer,
// Cesium引擎的é¢å¤–åˆå§‹åŒ–傿•°
extendOptions: {
// å¼€å¯è‡ªåŠ¨è·³è½¬
autoReset: true
}
});
// ES5引入方å¼
const { M3DModelCacheLayer } = Zondy.Layer
const { ClassBreakRenderer } = Zondy.Renderer
const { SimpleFillSymbol } = Zondy.Symbol
const { Color } = Zondy
// ES6引入方å¼
import { M3DModelCacheLayer,ClassBreakRenderer,SimpleFillSymbol,Color } from "@mapgis/webclient-common"
// æž„é€ åˆ†æ®µæ¸²æŸ“å™¨
const renderer = new ClassBreakRenderer({
// ä¸“é¢˜å›¾è¿‡æ»¤å—æ®µå
field: "å—æ®µå",
// 分段专题图过滤æ¡ä»¶æ•°ç»„
classBreakInfos: [
{
// 最å°è¿‡æ»¤èŒƒå›´ï¼Œfield对应的值大于ç‰äºŽminValue
minValue: 0,
// 最大过滤范围,field对应的值å°äºŽmaxValue
maxValue: 2,
// 匹é…到该值åŽçš„æ ·å¼
// M3D专题图仅支æŒSimpleFillSymbol符å·
symbol: new SimpleFillSymbol({
// 填充颜色
color: new Color(255, 0, 0)
})
},
{
// 最å°è¿‡æ»¤èŒƒå›´ï¼Œfield对应的值大于ç‰äºŽminValue
minValue: 3,
// 最大过滤范围,field对应的值å°äºŽmaxValue
maxValue: 5,
// 匹é…到该值åŽçš„æ ·å¼
// M3D专题图仅支æŒSimpleFillSymbol符å·
symbol: new SimpleFillSymbol({
// 填充颜色
color: 'rgb(255, 123, 220)'
})
}
]
})
// æž„é€ æ¨¡åž‹ç¼“å˜å›¾å±‚
const layer = new M3DModelCacheLayer({
// æœåŠ¡åŸºåœ°å€
url: 'æœåŠ¡åŸºåœ°å€',
// 设置专题图渲染器
renderer: renderer,
// Cesium引擎的é¢å¤–åˆå§‹åŒ–傿•°
extendOptions: {
// å¼€å¯è‡ªåŠ¨è·³è½¬
autoReset: true
}
});
// ES5引入方å¼
const { M3DModelCacheLayer } = Zondy.Layer
// ES6引入方å¼
import { M3DModelCacheLayer } from "@mapgis/webclient-common"
// æž„é€ Cesium原生渲染器
const renderer = {
// ä¸“é¢˜å›¾è¿‡æ»¤å—æ®µå
field: "å—æ®µå",
// 专题图类型-分段
type: "class-breaks",
// 分段专题图过滤æ¡ä»¶æ•°ç»„
classBreakInfos: [{
// 最å°è¿‡æ»¤èŒƒå›´ï¼Œfield对应的值大于ç‰äºŽminValue
minValue: 1,
// 最大过滤范围,field对应的值å°äºŽmaxValue
maxValue: 7,
// 渲染符å·
symbol: {
// 渲染类型为M3D
type: 'mesh-3d',
// 覆盖物图层
symbolLayers: [{
// 图层类型-颜色填充
type: "fill",
// 图层æè´¨
material: {
// 填充颜色
color: Cesium.Color.ANTIQUEWHITE
}
}]
}
}]
}
// æž„é€ æ¨¡åž‹ç¼“å˜å›¾å±‚
const layer = new M3DModelCacheLayer({
// æœåŠ¡åŸºåœ°å€
url: 'æœåŠ¡åŸºåœ°å€',
// Cesium引擎的é¢å¤–åˆå§‹åŒ–傿•°
extendOptions: {
// å¼€å¯è‡ªåŠ¨è·³è½¬
autoReset: true,
// 设置专题图渲染器
renderer: renderer
}
});
// ES5引入方å¼
const { M3DModelCacheLayer } = Zondy.Layer
// ES6引入方å¼
import { M3DModelCacheLayer } from "@mapgis/webclient-common"
// æž„é€ Cesium原生渲染器
const renderer = {
// ä¸“é¢˜å›¾è¿‡æ»¤å—æ®µå
field: "å—æ®µå",
// 专题图类型-å•值
type: "unique-value",
// å•值专题图过滤æ¡ä»¶æ•°ç»„
uniqueValueInfos: [
// æŒ‡å®šå—æ®µå€¼
value: 'è¿‡æ»¤å—æ®µå€¼',
// 渲染符å·
symbol: {
// 渲染类型为M3D
type: 'mesh-3d',
// 覆盖物图层
symbolLayers: [{
// 图层类型-颜色填充
type: "fill",
// 图层æè´¨
material: {
// 填充颜色
color: new Cesium.Color(0.0, 0.0, 1.0, 0.5)
}
}]
}
]
};
// æž„é€ æ¨¡åž‹ç¼“å˜å›¾å±‚
const layer = new M3DModelCacheLayer({
// æœåŠ¡åŸºåœ°å€
url: 'æœåŠ¡åŸºåœ°å€',
// Cesium引擎的é¢å¤–åˆå§‹åŒ–傿•°
extendOptions: {
// å¼€å¯è‡ªåŠ¨è·³è½¬
autoReset: true,
// 设置专题图渲染器
renderer: renderer
}
});
继承关系
æˆå‘˜å˜é‡
æˆå‘˜å˜é‡æ¦‚è¿°
åç§° | 类型 | æè¿° |
---|---|---|
boundingVolume |
Object
|
|
copyright |
String
|
|
description |
String
|
|
extendOptions |
Object
|
|
extendProps |
Object
|
|
extent |
Extent
|
|
fieldInfo |
String
|
|
headers |
String
|
|
httpMethod |
String
|
|
id |
String
|
|
index |
Number
|
|
loaded |
Boolean
|
|
loadStatus |
String
|
|
maxScale |
Number
|
|
minScale |
Number
|
|
opacity |
Number
|
|
position |
Object
|
|
renderer |
BaseRenderer
|
|
sceneName |
String
|
|
spatialReference |
Object
|
|
title |
String
|
|
tokenKey |
String
|
|
tokenValue |
String
|
|
type |
String
|
|
url |
String
|
|
version |
String
|
|
visible |
Number
|
|
æˆå‘˜å˜é‡è¯¦æƒ…
# extendOptions
åˆå§‹åŒ–图层的é¢å¤–傿•°ï¼Œä¸‰ç»´å¼•擎专有的åˆå§‹åŒ–傿•°è¯·ä¼ å…¥æ¤å¯¹è±¡
- Overrides:
# maxScale
最大显示比例尺,图层在视图ä¸å¯è§çš„æœ€å¤§æ¯”例尺(最放大)。如果地图被放大到超过这个比例,图层将ä¸å¯è§ã€‚默认值为0,0表示图层没有最大比例尺ã€å¯è§æ€§ä¸å—最大比例尺é™åˆ¶ã€‚maxScale应该始终å°äºŽminScale。
- Inherited From:
- Default Value:
- 0
# minScale
æœ€å°æ˜¾ç¤ºæ¯”例尺,图层在视图ä¸å¯è§çš„æœ€å°æ¯”例尺(最缩å°)。如果地图被缩å°åˆ°è¶…过这个比例,图层将ä¸å¯è§ã€‚默认值为0,0è¡¨ç¤ºå›¾å±‚æ²¡æœ‰æœ€å°æ¯”例尺ã€å¯è§æ€§ä¸å—æœ€å°æ¯”例尺é™åˆ¶ã€‚minScale应该始终大于maxScale。
- Inherited From:
- Default Value:
- 0
# opacity
图层逿˜Žåº¦ï¼Œ0到1之间的值,0ä¸ºå®Œå…¨é€æ˜Žï¼Œ1为ä¸é€æ˜Žï¼Œä¼šè§¦å‘图层更新完毕事件
- Inherited From:
# visible
图层显示或éšè—,true则显示,false则éšè—,会触å‘图层更新完毕事件
- Inherited From:
方法
方法概述
åç§° | 返回值类型 | æè¿° |
---|---|---|
fromJSON |
|
通过jsonæž„é€ å¹¶è¿”å›žå›¾å±‚å¯¹è±¡ |
fromServerUrl |
IGSMapImageLayer
|
通过url创建图层对象 |
clone |
M3DModelCacheLayer
|
克隆图层对象 |
destroy |
*
|
|
isLoaded |
Boolean
|
|
load |
Promise.<M3DModelCacheLayer>
|
|
refresh |
|
|
toJSON |
Object
|
将图层转为json对象 |
方法详情
# static fromJSON(json)
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
json |
Object | json对象 |
# load()
åŠ è½½å›¾å±‚èµ„æº
示例
// ES5引入方å¼
const { M3DModelCacheLayer } = Zondy.Layer
// ES6引入方å¼
import { M3DModelCacheLayer } from "@mapgis/webclient-common"
// åˆå§‹åŒ–图层
const layer = new M3DModelCacheLayer({
// æœåŠ¡åŸºåœ°å€
url: 'æœåŠ¡åŸºåœ°å€',
});
layer.load().then((result) => {
// 获å–完图层信æ¯
console.log(result)
})
事件
事件概述
åç§° | æè¿° |
---|---|
图层刷新完毕事件 |
图层刷新完毕事件 |
å›¾å±‚åŠ è½½å®Œæ¯•äº‹ä»¶ |
å›¾å±‚åŠ è½½å®Œæ¯•äº‹ä»¶ |
å›¾å±‚æ˜¾éšæ›´æ–°å®Œæ¯•事件 |
å›¾å±‚æ˜¾éšæ›´æ–°å®Œæ¯•事件 |
图层更新完毕事件 |
图层更新完毕事件 |
图层逿˜Žåº¦æ›´æ–°å®Œæ¯•事件 |
图层逿˜Žåº¦æ›´æ–°å®Œæ¯•事件 |
图层销æ¯å®Œæ¯•事件 |
图层销æ¯å®Œæ¯•事件 |
å›¾å±‚é¡ºåºæ›´æ–°å®Œæ¯•事件 |
å›¾å±‚é¡ºåºæ›´æ–°å®Œæ¯•事件 |
事件详情
# 图层刷新完毕事件
图层刷新完毕事件,请注æ„该事件是图层更新事件(layerview-update)çš„å事件
属性:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
event |
Object | 事件对象 |
||
type |
String |
<optional> |
'layerview-update' | 图层更新完毕事件 |
message |
String |
<optional> |
null | æ›´æ–°æè¿° |
updateContent |
Array.<UpdateContent> |
<optional> |
null | 更新详情对象 |
layer |
Layer |
<optional> |
null | 地图图层对象 |
layerView |
MapView |
<optional> |
null | 图层的视图对象 |
sourceTarget |
Layer |
<optional> |
null | 事件å‘起对象 |
target |
Map |
<optional> |
null | 事件接收对象 |
- Inherited From:
示例
图层刷新完毕事件
Layer.on('layerview-update', function (event) {
// èŽ·å–æ›´æ–°äº‹ä»¶å¯¹è±¡
console.log("更新完毕:", event)
// èŽ·å–æ›´æ–°è¯¦æƒ…数组
const updateContent = event.updateContent
// å¾ªçŽ¯æ•°ç»„ï¼Œæ ¹æ®äº‹ä»¶å进行åŽç»æ“作
for (let i = 0; i < updateContent.length; i++) {
// 图层刷新完毕事件
if(updateContent[i].name === 'refresh'){
console.log("图层刷新完毕事件:", event);
}
}
});
# å›¾å±‚åŠ è½½å®Œæ¯•äº‹ä»¶
å›¾å±‚åŠ è½½å®Œæ¯•äº‹ä»¶
属性:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
event |
Object | 事件对象 |
||
type |
String |
<optional> |
'layerview-created' | å›¾å±‚åŠ è½½å®Œæ¯•äº‹ä»¶ |
message |
String |
<optional> |
null | æ›´æ–°æè¿° |
UpdateContent |
Array.<UpdateContent> |
<optional> |
null | 更新详情对象 |
layer |
Layer |
<optional> |
null | 地图图层对象 |
layerView |
MapView |
<optional> |
null | 图层的视图对象 |
sourceTarget |
Layer |
<optional> |
null | 事件å‘起对象 |
target |
Map |
<optional> |
null | 事件接收对象 |
- Inherited From:
示例
Layer.on('layerview-created', function (result) {
console.log("åŠ è½½å®Œæ¯•:", result.layer)
});
# å›¾å±‚æ˜¾éšæ›´æ–°å®Œæ¯•事件
å›¾å±‚æ˜¾éšæ›´æ–°å®Œæ¯•事件,请注æ„该事件是图层更新事件(layerview-update)çš„å事件
属性:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
event |
Object | 事件对象 |
||
type |
String |
<optional> |
'layerview-update' | 图层更新完毕事件 |
message |
String |
<optional> |
null | æ›´æ–°æè¿° |
updateContent |
Array.<UpdateContent> |
<optional> |
null | 更新详情对象 |
layer |
Layer |
<optional> |
null | 地图图层对象 |
layerView |
MapView |
<optional> |
null | 图层的视图对象 |
sourceTarget |
Layer |
<optional> |
null | 事件å‘起对象 |
target |
Map |
<optional> |
null | 事件接收对象 |
- Inherited From:
示例
å›¾å±‚æ˜¾éšæ›´æ–°å®Œæ¯•事件
Layer.on('layerview-update', function (event) {
// èŽ·å–æ›´æ–°äº‹ä»¶å¯¹è±¡
console.log("更新完毕:", event)
// èŽ·å–æ›´æ–°è¯¦æƒ…数组
const updateContent = event.updateContent
// å¾ªçŽ¯æ•°ç»„ï¼Œæ ¹æ®äº‹ä»¶å进行åŽç»æ“作
for (let i = 0; i < updateContent.length; i++) {
// 图层显éšäº‹ä»¶
if(updateContent[i].name === 'visible'){
console.log("å›¾å±‚æ˜¾éšæ›´æ–°äº‹ä»¶:", event);
}
}
});
# 图层更新完毕事件
图层更新完毕事件
属性:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
event |
Object | 事件对象 |
||
type |
String |
<optional> |
'layerview-update' | 图层更新完毕事件 |
message |
String |
<optional> |
null | æ›´æ–°æè¿° |
updateContent |
Array.<UpdateContent> |
<optional> |
null | 更新详情对象 |
layer |
Layer |
<optional> |
null | 地图图层对象 |
layerView |
MapView |
<optional> |
null | 图层的视图对象 |
sourceTarget |
Layer |
<optional> |
null | 事件å‘起对象 |
target |
Map |
<optional> |
null | 事件接收对象 |
- Inherited From:
示例
Layer.on('layerview-update', function (result) {
console.log("更新完毕:", result.layer)
});
# 图层逿˜Žåº¦æ›´æ–°å®Œæ¯•事件
图层逿˜Žåº¦æ›´æ–°å®Œæ¯•事件,请注æ„该事件是图层更新事件(layerview-update)çš„å事件
属性:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
event |
Object | 事件对象 |
||
type |
String |
<optional> |
'layerview-update' | 图层更新完毕事件 |
message |
String |
<optional> |
null | æ›´æ–°æè¿° |
updateContent |
Array.<UpdateContent> |
<optional> |
null | 更新详情对象 |
layer |
Layer |
<optional> |
null | 地图图层对象 |
layerView |
MapView |
<optional> |
null | 图层的视图对象 |
sourceTarget |
Layer |
<optional> |
null | 事件å‘起对象 |
target |
Map |
<optional> |
null | 事件接收对象 |
- Inherited From:
示例
图层逿˜Žåº¦æ›´æ–°å®Œæ¯•事件
Layer.on('layerview-update', function (event) {
// èŽ·å–æ›´æ–°äº‹ä»¶å¯¹è±¡
console.log("更新完毕:", event)
// èŽ·å–æ›´æ–°è¯¦æƒ…数组
const updateContent = event.updateContent
// å¾ªçŽ¯æ•°ç»„ï¼Œæ ¹æ®äº‹ä»¶å进行åŽç»æ“作
for (let i = 0; i < updateContent.length; i++) {
// 图层逿˜Žåº¦æ›´æ–°äº‹ä»¶
if(updateContent[i].name === 'opacity'){
console.log("图层逿˜Žåº¦æ›´æ–°äº‹ä»¶:", event);
}
}
});
# 图层销æ¯å®Œæ¯•事件
图层销æ¯å®Œæ¯•事件
属性:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
event |
Object | 事件对象 |
||
type |
String |
<optional> |
'layerview-remove' | 图层销æ¯å®Œæ¯•事件 |
message |
String |
<optional> |
null | æ›´æ–°æè¿° |
updateContent |
Array.<UpdateContent> |
<optional> |
null | 更新详情对象 |
layer |
Layer |
<optional> |
null | è¦é”€æ¯çš„地图图层对象 |
layerView |
MapView |
<optional> |
null | 图层的视图对象 |
sourceTarget |
Layer |
<optional> |
null | 事件å‘起对象 |
target |
Map |
<optional> |
null | 事件接收对象 |
- Inherited From:
示例
Layer.on('layerview-remove', function (result) {
console.log("销æ¯å®Œæ¯•:", result.layer)
});
# å›¾å±‚é¡ºåºæ›´æ–°å®Œæ¯•事件
å›¾å±‚é¡ºåºæ›´æ–°å®Œæ¯•事件,请注æ„该事件是图层更新事件(layerview-update)çš„å事件
属性:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
event |
Object | 事件对象 |
||
type |
String |
<optional> |
'layerview-update' | 图层更新完毕事件 |
message |
String |
<optional> |
null | æ›´æ–°æè¿° |
updateContent |
Array.<UpdateContent> |
<optional> |
null | 更新详情对象 |
layer |
Layer |
<optional> |
null | 地图图层对象 |
layerView |
MapView |
<optional> |
null | 图层的视图对象 |
sourceTarget |
Layer |
<optional> |
null | 事件å‘起对象 |
target |
Map |
<optional> |
null | 事件接收对象 |
- Inherited From:
示例
å›¾å±‚é¡ºåºæ›´æ–°å®Œæ¯•事件
Layer.on('layerview-update', function (event) {
// èŽ·å–æ›´æ–°äº‹ä»¶å¯¹è±¡
console.log("更新完毕:", event)
// èŽ·å–æ›´æ–°è¯¦æƒ…数组
const updateContent = event.updateContent
// å¾ªçŽ¯æ•°ç»„ï¼Œæ ¹æ®äº‹ä»¶å进行åŽç»æ“作
for (let i = 0; i < updateContent.length; i++) {
// å›¾å±‚é¡ºåºæ›´æ–°å®Œæ¯•事件
if(updateContent[i].name === 'index'){
console.log("å›¾å±‚é¡ºåºæ›´æ–°å®Œæ¯•事件:", event);
}
}
});