Commit c5260bc0 by wanghao

同步代码

parent 5ada1414
......@@ -18,12 +18,14 @@ module.exports = {
L: "readonly",
mars2d: "readonly",
localforage: "readonly",
turf: "readonly",
THREE: "readonly",
Ammo: "readonly",
echarts: "readonly",
Terraformer: "readonly",
AMap: "readonly",
BMap: "readonly",
kgUtil: "readonly",
shpUtil: "readonly",
netcdfjs: "readonly",
......
......@@ -871,6 +871,11 @@
"name": "合肥市区",
"url": "{dataServer}/3dtiles/jzw-hefei/tileset.json",
"maximumScreenSpaceError": 1,
"style": {
"color": {
"conditions": [["true", "color('rgba(42, 160, 224, 1)')"]]
}
},
"marsJzwStyle": true,
"highlight": { "type": "click", "color": "#FFFF00" },
"popup": [
......@@ -881,6 +886,21 @@
"center": { "lat": 31.786281, "lng": 117.223716, "alt": 3718, "heading": 2, "pitch": -45 }
},
{
"pid": 2040,
"type": "3dtiles",
"name": "合肥市区-带贴图",
"url": "{dataServer}/3dtiles/jzw-hefei-cz/tileset.json",
"maximumScreenSpaceError": 1,
"marsJzwStyle": true,
"highlight": { "type": "click", "color": "#FFFF00" },
"popup": [
{ "field": "objectid", "name": "编号" },
{ "field": "remark", "name": "名称" },
{ "field": "height", "name": "楼高", "unit": "米" }
],
"center": { "lat": 31.786281, "lng": 117.223716, "alt": 3718, "heading": 2, "pitch": -45 }
},
{
"id": 204012,
"pid": 2040,
"type": "3dtiles",
......@@ -914,7 +934,7 @@
"pid": 2050,
"type": "3dtiles",
"name": "高压线塔杆",
"url": "//data.mars3d.cn/3dtiles/pnts-ganta/tileset.json",
"url": "{dataServer}/3dtiles/pnts-ganta/tileset.json",
"maximumScreenSpaceError": 1,
"position": { "alt": 31 },
"style": {
......@@ -1001,7 +1021,7 @@
"type": "3dtiles",
"name": "石化工厂",
"url": "{dataServer}/3dtiles/max-shihua/tileset.json",
"position": { "lng": 117.077158, "lat": 31.659116, "alt": 24.6 },
"position": { "lng": 117.077158, "lat": 31.659116, "alt": -2.0 },
"maximumScreenSpaceError": 1,
"highlight": { "type": "click", "color": "#00FF00" },
"popup": "all",
......@@ -1043,12 +1063,66 @@
},
{ "id": 2030, "pid": 20, "name": "倾斜摄影", "type": "group" },
{
"pid": 2030,
"type": "3dtiles",
"name": "大雁塔",
"url": "{dataServer}/3dtiles/qx-dyt/tileset.json",
"position": { "alt": -27 },
"maximumScreenSpaceError": 1,
"center": { "lat": 34.215516, "lng": 108.960251, "alt": 834, "heading": 4, "pitch": -48 },
"flat": {
"enabled": true,
"editHeight": 420
},
"flyTo": false,
"show": false
},
{
"pid": 2030,
"name": "校园(含单体)",
"type": "group",
"center": { "lat": 43.821193, "lng": 125.143124, "alt": 990, "heading": 342, "pitch": -50 },
"layers": [
{
"type": "geojson",
"name": "校园-单体化",
"url": "{dataServer}/file/geojson/dth-xuexiao-fd.json",
"symbol": {
"type": "polygonP",
"styleOptions": {
"color": "rgba(255, 255, 255, 0.01)",
"clampToGround": true,
"classification": true,
"buffer": 1,
"highlight": {
"type": "click",
"color": "rgba(255,255,0,0.4)"
}
}
},
"popup": [
{ "field": "name", "name": "学校场所" },
{ "field": "sfkf", "name": "是否开放" },
{ "field": "remark", "name": "备注信息" }
]
},
{
"pid": 2030,
"type": "3dtiles",
"name": "校园",
"url": "{dataServer}/3dtiles/qx-xuexiao/tileset.json",
"position": { "alt": 282.0 },
"maximumScreenSpaceError": 1
}
]
},
{
"id": 203014,
"pid": 2030,
"type": "3dtiles",
"name": "县城社区",
"url": "{dataServer}/3dtiles/qx-shequ/tileset.json",
"position": { "alt": 11.5 },
"position": { "alt": 148.2 },
"maximumScreenSpaceError": 2,
"dynamicScreenSpaceError": true,
"cullWithChildrenBounds": false,
......@@ -1071,21 +1145,6 @@
"center": { "lat": 31.795308, "lng": 117.21948, "alt": 1820, "heading": 0, "pitch": -39 }
},
{
"pid": 2030,
"type": "3dtiles",
"name": "大雁塔",
"url": "{dataServer}/3dtiles/qx-dyt/tileset.json",
"position": { "alt": -27 },
"maximumScreenSpaceError": 1,
"center": { "lat": 34.215516, "lng": 108.960251, "alt": 834, "heading": 4, "pitch": -48 },
"flat": {
"enabled": true,
"editHeight": 420
},
"flyTo": false,
"show": false
},
{
"id": 203013,
"pid": 2030,
"type": "geojson",
......@@ -1099,7 +1158,7 @@
"classification": true,
"buffer": 1,
"highlight": {
"color": "rgba(255,255,0,0.5)"
"color": "rgba(255,255,0,0.4)"
}
}
},
......@@ -1116,7 +1175,7 @@
"type": "3dtiles",
"name": "文庙",
"url": "{dataServer}/3dtiles/qx-simiao/tileset.json",
"position": { "alt": 80.6 },
"position": { "alt": 38.8 },
"maximumScreenSpaceError": 2,
"dynamicScreenSpaceError": true,
"cullWithChildrenBounds": false,
......
......@@ -2251,36 +2251,6 @@
]
},
{
"name": "模型编辑控制",
"children": [
{
"name": "三维模型位置及参数编辑",
"thumbnail": "layer3d-manager-edit.jpg",
"main": "layer-tileset/manager/edit",
"libs": ["mars3d", "localforage"],
"hasPannel": true
},
{
"name": "模型位置XYZ平移(不贴球面)",
"thumbnail": "layer3d-manager-move.jpg",
"main": "layer-tileset/manager/move",
"hasPannel": true
},
{
"name": "单模型场景(无地球)",
"thumbnail": "layer3d-manager-oneself.jpg",
"main": "layer-tileset/manager/oneself",
"hasPannel": true
},
{
"name": "单模型场景(无地球+背景图片)",
"thumbnail": "layer3d-manager-oneself2.jpg",
"main": "layer-tileset/manager/oneself2",
"hasPannel": true
}
]
},
{
"name": "模型相关分析",
"children": [
{
......@@ -2339,6 +2309,36 @@
"hasPannel": true
}
]
},
{
"name": "模型编辑控制",
"children": [
{
"name": "三维模型位置及参数编辑",
"thumbnail": "layer3d-manager-edit.jpg",
"main": "layer-tileset/manager/edit",
"libs": ["mars3d", "localforage"],
"hasPannel": true
},
{
"name": "模型位置XYZ平移(不贴球面)",
"thumbnail": "layer3d-manager-move.jpg",
"main": "layer-tileset/manager/move",
"hasPannel": true
},
{
"name": "单模型场景(无地球)",
"thumbnail": "layer3d-manager-oneself.jpg",
"main": "layer-tileset/manager/oneself",
"hasPannel": true
},
{
"name": "单模型场景(无地球+背景图片)",
"thumbnail": "layer3d-manager-oneself2.jpg",
"main": "layer-tileset/manager/oneself2",
"hasPannel": true
}
]
}
]
},
......
......@@ -8,6 +8,11 @@
"name": "合肥市区",
"url": "//data.mars3d.cn/3dtiles/jzw-hefei/tileset.json",
"maximumScreenSpaceError": 1,
"style": {
"color": {
"conditions": [["true", "color('rgba(42, 160, 224, 1)')"]]
}
},
"marsJzwStyle": true,
"highlight": { "type": "click", "color": "#FFFF00" },
"popup": [
......@@ -20,14 +25,9 @@
{
"pid": 2040,
"type": "3dtiles",
"name": "合肥市区2",
"url": "//data.mars3d.cn/3dtiles/jzw-hefei2/tileset.json",
"name": "合肥市区-带贴图",
"url": "//data.mars3d.cn/3dtiles/jzw-hefei-cz/tileset.json",
"maximumScreenSpaceError": 1,
"style": {
"color": {
"conditions": [["true", "color('rgba(42, 160, 224, 1)')"]]
}
},
"marsJzwStyle": true,
"highlight": { "type": "click", "color": "#FFFF00" },
"popup": [
......@@ -189,7 +189,7 @@
"type": "3dtiles",
"name": "石化工厂",
"url": "//data.mars3d.cn/3dtiles/max-shihua/tileset.json",
"position": { "lng": 117.077158, "lat": 31.659116, "alt": 24.6 },
"position": { "lng": 117.077158, "lat": 31.659116, "alt": -2.0 },
"maximumScreenSpaceError": 1,
"highlight": { "type": "click", "color": "#00FF00" },
"popup": "all",
......@@ -279,7 +279,7 @@
"type": "3dtiles",
"name": "校园",
"url": "//data.mars3d.cn/3dtiles/qx-xuexiao/tileset.json",
"position": { "alt": 15.8 },
"position": { "alt": 282.0},
"maximumScreenSpaceError": 1
}
]
......@@ -290,7 +290,7 @@
"type": "3dtiles",
"name": "合肥大学科技园",
"url": "//data.mars3d.cn/3dtiles/qx-hfdxy/tileset.json",
"position": { "alt": -24 },
"position": { "alt": 43.7 },
"maximumScreenSpaceError": 1,
"center": { "lat": 31.841523, "lng": 117.205761, "alt": 166, "heading": 1, "pitch": -33 }
},
......@@ -300,7 +300,7 @@
"type": "3dtiles",
"name": "县城社区",
"url": "//data.mars3d.cn/3dtiles/qx-shequ/tileset.json",
"position": { "alt": 11.5 },
"position": { "alt": 148.2 },
"maximumScreenSpaceError": 2,
"dynamicScreenSpaceError": true,
"cullWithChildrenBounds": false,
......@@ -330,7 +330,7 @@
{
"type": "geojson",
"name": "文庙-单体化",
"url": " //data.mars3d.cn/file/geojson/dth-wm.json",
"url": "//data.mars3d.cn/file/geojson/dth-wm.json",
"symbol": {
"type": "polygonP",
"styleOptions": {
......@@ -354,7 +354,7 @@
"type": "3dtiles",
"name": "文庙",
"url": "//data.mars3d.cn/3dtiles/qx-simiao/tileset.json",
"position": { "alt": 80.6 },
"position": { "alt": 38.8 },
"maximumScreenSpaceError": 2,
"dynamicScreenSpaceError": true,
"cullWithChildrenBounds": false,
......
......@@ -2,7 +2,7 @@
* Mars3D三维可视化平台 mars3d
*
* 版本信息:v3.6.6
* 编译日期:2023-09-12 20:31:25
* 编译日期:2023-09-18 16:29:59
* 版权所有:Copyright by 火星科技 http://mars3d.cn
* 使用单位:免费公开版 ,2023-03-17
*/
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -26,7 +26,7 @@ export function onMounted(mapInstance) {
const tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "县城社区",
url: "//data.mars3d.cn/3dtiles/qx-shequ/tileset.json",
position: { alt: 11.5 },
position: { alt: 148.2 },
maximumScreenSpaceError: 1,
dynamicScreenSpaceError: true,
cullWithChildrenBounds: false,
......
......@@ -22,7 +22,7 @@ export function onMounted(mapInstance) {
// 添加参考三维模型
const tiles3dLayer = new mars3d.layer.TilesetLayer({
url: "//data.mars3d.cn/3dtiles/qx-simiao/tileset.json",
position: { alt: 80.6 },
position: { alt: 38.8 },
maximumScreenSpaceError: 1,
dynamicScreenSpaceError: true,
cullWithChildrenBounds: false
......
......@@ -11,8 +11,8 @@ export const mapOptions = {
{
pid: 2040,
type: "3dtiles",
name: "合肥市区2",
url: "//data.mars3d.cn/3dtiles/jzw-hefei2/tileset.json",
name: "合肥市区",
url: "//data.mars3d.cn/3dtiles/jzw-hefei/tileset.json",
maximumScreenSpaceError: 1,
style: {
color: {
......
......@@ -24,7 +24,7 @@ export function onMounted(mapInstance) {
const tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "石化工厂",
url: "//data.mars3d.cn/3dtiles/max-shihua/tileset.json",
position: { lng: 117.077158, lat: 31.659116, alt: 24.6 },
position: { lng: 117.077158, lat: 31.659116, alt: -2.0 },
maximumScreenSpaceError: 1,
flyTo: true
})
......
......@@ -11,8 +11,8 @@ export const mapOptions = {
{
pid: 2040,
type: "3dtiles",
name: "合肥市区2",
url: "//data.mars3d.cn/3dtiles/jzw-hefei2/tileset.json",
name: "合肥市区",
url: "//data.mars3d.cn/3dtiles/jzw-hefei/tileset.json",
maximumScreenSpaceError: 1,
style: {
color: {
......
......@@ -22,7 +22,7 @@ export function onMounted(mapInstance) {
// 添加参考三维模型
const tiles3dLayer = new mars3d.layer.TilesetLayer({
url: "//data.mars3d.cn/3dtiles/qx-simiao/tileset.json",
position: { alt: 80.6 },
position: { alt: 38.8 },
maximumScreenSpaceError: 1,
dynamicScreenSpaceError: true,
cullWithChildrenBounds: false
......
......@@ -28,7 +28,7 @@ export function onMounted(mapInstance) {
// 添加参考三维模型
const tiles3dLayer = new mars3d.layer.TilesetLayer({
url: "//data.mars3d.cn/3dtiles/qx-simiao/tileset.json",
position: { alt: 80.6 },
position: { alt: 38.8 },
maximumScreenSpaceError: 1,
dynamicScreenSpaceError: true,
cullWithChildrenBounds: false
......
......@@ -22,7 +22,7 @@ export function onMounted(mapInstance) {
// 添加参考三维模型
const tiles3dLayer = new mars3d.layer.TilesetLayer({
url: "//data.mars3d.cn/3dtiles/qx-simiao/tileset.json",
position: { alt: 80.6 },
position: { alt: 38.8 },
maximumScreenSpaceError: 1,
dynamicScreenSpaceError: true,
cullWithChildrenBounds: false
......
......@@ -22,7 +22,7 @@ export function onMounted(mapInstance) {
// 添加参考三维模型
const tiles3dLayer = new mars3d.layer.TilesetLayer({
url: "//data.mars3d.cn/3dtiles/qx-simiao/tileset.json",
position: { alt: 80.6 },
position: { alt: 38.8 },
maximumScreenSpaceError: 1,
dynamicScreenSpaceError: true,
cullWithChildrenBounds: false
......
......@@ -24,7 +24,7 @@ export function onMounted(mapInstance) {
const tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "石化工厂",
url: "//data.mars3d.cn/3dtiles/max-shihua/tileset.json",
position: { lng: 117.077158, lat: 31.659116, alt: 24.6 },
position: { lng: 117.077158, lat: 31.659116, alt: -2.0 },
maximumScreenSpaceError: 1,
flyTo: true
})
......
......@@ -30,7 +30,7 @@ export function onMounted(mapInstance) {
// 添加参考三维模型
const tiles3dLayer = new mars3d.layer.TilesetLayer({
url: "//data.mars3d.cn/3dtiles/qx-simiao/tileset.json",
position: { alt: 80.6 },
position: { alt: 38.8 },
maximumScreenSpaceError: 1,
dynamicScreenSpaceError: true,
cullWithChildrenBounds: false
......
......@@ -21,7 +21,7 @@ export function onMounted(mapInstance) {
map.basemap = 2017 // 切换到蓝色底图
const tilesetLayer = new mars3d.layer.TilesetLayer({
url: "//data.mars3d.cn/3dtiles/jzw-hefei2/tileset.json",
url: "//data.mars3d.cn/3dtiles/jzw-hefei/tileset.json",
maximumScreenSpaceError: 1,
style: {
color: {
......
......@@ -27,7 +27,7 @@ export function onMounted(mapInstance) {
// 添加参考三维模型
const tiles3dLayer = new mars3d.layer.TilesetLayer({
url: "//data.mars3d.cn/3dtiles/qx-shequ/tileset.json",
position: { alt: 11.5 },
position: { alt: 148.2 },
maximumScreenSpaceError: 1,
dynamicScreenSpaceError: true,
cullWithChildrenBounds: false,
......
......@@ -27,7 +27,7 @@ export function onMounted(mapInstance) {
// 添加参考三维模型
const tiles3dLayer = new mars3d.layer.TilesetLayer({
url: "//data.mars3d.cn/3dtiles/qx-shequ/tileset.json",
position: { alt: 11.5 },
position: { alt: 148.2 },
maximumScreenSpaceError: 1,
dynamicScreenSpaceError: true,
cullWithChildrenBounds: false,
......
......@@ -27,7 +27,7 @@ export function onMounted(mapInstance) {
// 添加参考三维模型
const tiles3dLayer = new mars3d.layer.TilesetLayer({
url: "//data.mars3d.cn/3dtiles/qx-shequ/tileset.json",
position: { alt: 11.5 },
position: { alt: 148.2 },
maximumScreenSpaceError: 1,
dynamicScreenSpaceError: true,
cullWithChildrenBounds: false,
......
......@@ -30,7 +30,7 @@ export function onMounted(mapInstance) {
const tiles3dLayer = new mars3d.layer.TilesetLayer({
url: "//data.mars3d.cn/3dtiles/qx-shequ/tileset.json",
maximumScreenSpaceError: 1,
position: { alt: 11.5 }
position: { alt: 148.2 }
})
map.addLayer(tiles3dLayer)
......
......@@ -30,7 +30,7 @@ export function onMounted(mapInstance) {
// 添加参考三维模型
const tiles3dLayer = new mars3d.layer.TilesetLayer({
url: "//data.mars3d.cn/3dtiles/qx-shequ/tileset.json",
position: { alt: 11.5 },
position: { alt: 148.2 },
maximumScreenSpaceError: 1,
dynamicScreenSpaceError: true,
cullWithChildrenBounds: false,
......
......@@ -29,7 +29,7 @@ export function onMounted(mapInstance) {
// 添加参考三维模型
const tiles3dLayer = new mars3d.layer.TilesetLayer({
url: "//data.mars3d.cn/3dtiles/qx-shequ/tileset.json",
position: { alt: 11.5 },
position: { alt: 148.2 },
maximumScreenSpaceError: 1,
dynamicScreenSpaceError: true,
cullWithChildrenBounds: false,
......
......@@ -22,7 +22,7 @@ export function onMounted(mapInstance) {
const tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "石化工厂",
url: "http://data.mars3d.cn/3dtiles/max-shihua/tileset.json",
position: { lng: 117.077158, lat: 31.659116, alt: 24.6 },
position: { lng: 117.077158, lat: 31.659116, alt: -2.0 },
maximumScreenSpaceError: 1,
popup: "all"
})
......
......@@ -22,7 +22,7 @@ export function onMounted(mapInstance) {
const tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "石化工厂",
url: "http://data.mars3d.cn/3dtiles/max-shihua/tileset.json",
position: { lng: 117.077158, lat: 31.659116, alt: 24.6 },
position: { lng: 117.077158, lat: 31.659116, alt: -2.0 },
maximumScreenSpaceError: 1,
popup: "all"
})
......
......@@ -22,7 +22,7 @@ export function onMounted(mapInstance) {
const tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "石化工厂",
url: "http://data.mars3d.cn/3dtiles/max-shihua/tileset.json",
position: { lng: 117.077158, lat: 31.659116, alt: 24.6 },
position: { lng: 117.077158, lat: 31.659116, alt: -2.0 },
maximumScreenSpaceError: 1,
popup: "all"
})
......
......@@ -25,7 +25,7 @@ export function onMounted(mapInstance) {
const tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "文庙",
url: "//data.mars3d.cn/3dtiles/qx-simiao/tileset.json",
position: { alt: 80.6 },
position: { alt: 38.8 },
maximumScreenSpaceError: 1
})
map.addLayer(tiles3dLayer)
......
......@@ -593,6 +593,18 @@ export function startDrawGraphic2() {
})
}
// 开始绘制 自由曲线
export function startDrawBrushLine() {
graphicLayer.startDraw({
type: "brushLine",
style: {
color: "#55ff33",
width: 3,
clampToGround: false
}
})
}
// 在图层绑定Popup弹窗
export function bindLayerPopup() {
graphicLayer.bindPopup(function (event) {
......
......@@ -25,7 +25,7 @@ export function onMounted(mapInstance) {
const tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "文庙",
url: "//data.mars3d.cn/3dtiles/qx-simiao/tileset.json",
position: { alt: 80.6 },
position: { alt: 38.8 },
maximumScreenSpaceError: 1
})
map.addLayer(tiles3dLayer)
......
......@@ -24,7 +24,7 @@ export function onMounted(mapInstance) {
// 添加参考三维模型;
const tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "合肥市建筑物",
url: "//data.mars3d.cn/3dtiles/jzw-hefei2/tileset.json",
url: "//data.mars3d.cn/3dtiles/jzw-hefei/tileset.json",
maximumScreenSpaceError: 1,
style: {
color: {
......
......@@ -26,7 +26,7 @@ export function onMounted(mapInstance) {
const tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "县城社区",
url: "//data.mars3d.cn/3dtiles/qx-shequ/tileset.json",
position: { alt: 11.5 },
position: { alt: 148.2 },
maximumScreenSpaceError: 1
})
map.addLayer(tiles3dLayer)
......
......@@ -26,7 +26,7 @@ export function onMounted(mapInstance) {
name: "县城社区",
url: "//data.mars3d.cn/3dtiles/qx-shequ/tileset.json",
maximumScreenSpaceError: 1,
position: { alt: 11.5 }
position: { alt: 148.2 }
})
map.addLayer(tiles3dLayer)
......
......@@ -26,7 +26,7 @@ export function onMounted(mapInstance) {
const tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "县城社区",
url: "//data.mars3d.cn/3dtiles/qx-shequ/tileset.json",
position: { alt: 11.5 },
position: { alt: 148.2 },
maximumScreenSpaceError: 1
})
map.addLayer(tiles3dLayer)
......
......@@ -29,7 +29,7 @@ export function onMounted(mapInstance) {
const tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "合肥国家大学科技园",
url: "//data.mars3d.cn/3dtiles/qx-hfdxy/tileset.json",
position: { alt: -24 },
position: { alt: 43.7 },
maximumScreenSpaceError: 1
})
map.addLayer(tiles3dLayer)
......
......@@ -29,7 +29,7 @@ export function onMounted(mapInstance) {
const tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "合肥国家大学科技园",
url: "//data.mars3d.cn/3dtiles/qx-hfdxy/tileset.json",
position: { alt: -24 },
position: { alt: 43.7 },
maximumScreenSpaceError: 1
})
map.addLayer(tiles3dLayer)
......
......@@ -28,7 +28,7 @@ export function onMounted(mapInstance) {
const tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "合肥国家大学科技园",
url: "//data.mars3d.cn/3dtiles/qx-hfdxy/tileset.json",
position: { alt: -24 },
position: { alt: 43.7 },
maximumScreenSpaceError: 1
})
map.addLayer(tiles3dLayer)
......
......@@ -32,7 +32,7 @@ export function onMounted(mapInstance) {
const tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "合肥国家大学科技园",
url: "//data.mars3d.cn/3dtiles/qx-hfdxy/tileset.json",
position: { alt: -24 },
position: { alt: 43.7 },
maximumScreenSpaceError: 1
})
map.addLayer(tiles3dLayer)
......
......@@ -32,7 +32,7 @@ export function onMounted(mapInstance) {
const tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "合肥国家大学科技园",
url: "//data.mars3d.cn/3dtiles/qx-hfdxy/tileset.json",
position: { alt: -24 },
position: { alt: 43.7 },
maximumScreenSpaceError: 1
})
map.addLayer(tiles3dLayer)
......
......@@ -33,7 +33,7 @@ export function onMounted(mapInstance) {
const tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "合肥国家大学科技园",
url: "//data.mars3d.cn/3dtiles/qx-hfdxy/tileset.json",
position: { alt: -24 },
position: { alt: 43.7 },
maximumScreenSpaceError: 1
})
map.addLayer(tiles3dLayer)
......
......@@ -304,6 +304,9 @@ function addDemoGraphic14(graphicLayer) {
}
function addDemoGraphic15(graphicLayer) {
const groupGraphic = new mars3d.graphic.GroupGraphic() // 组对象
graphicLayer.addGraphic(groupGraphic)
const graphic = new mars3d.graphic.PolygonEntity({
positions: [
[116.510278, 30.834372, 567.29],
......@@ -325,7 +328,19 @@ function addDemoGraphic15(graphicLayer) {
},
attr: { remark: "示例15" }
})
graphicLayer.addGraphic(graphic) // 还可以另外一种写法: graphic.addTo(graphicLayer)
groupGraphic.addGraphic(graphic) // 还可以另外一种写法: graphic.addTo(graphicLayer)
const graphicLabel = new mars3d.graphic.LabelEntity({
position: new mars3d.LngLatPoint(116.505298, 30.81396, 420),
style: {
text: "我是水面",
font_size: 20,
visibleDepth: false
},
attr: { remark: "示例15-label" }
})
groupGraphic.addGraphic(graphicLabel)
}
// 绑定右键菜单
......
......@@ -62,7 +62,9 @@ function showWeiVectorTileLayer() {
// lineDash: [3, 10],
lineWidth: 2,
showMaker: false,
showMaker: false, // 点状的时候需要打开
// markerImage: "img/marker/lace-red.png",
showCenterLabel: false
// showCenterLabel: true, //是否显示文本,仅对线和面数据有效
// centerLabelPropertyName: 'NAME',
......@@ -78,10 +80,15 @@ function showWeiVectorTileLayer() {
allowPick: true, // 允许单击
// 以下为mars3d参数,API参考http://mars3d.cn/api/BaseTileLayer.html#.ConstructorOptions
maxLength: -1,
popup: "名称:{name} <br /> 日期:{address}"
popup: "名称:{name} <br /> 日期:{address}",
flyTo: true
})
map.addLayer(tileLayer)
tileLayer.on(mars3d.EventType.load, function (event) {
console.log("加载完成", event)
})
tileLayer.on(mars3d.EventType.click, function (event) {
console.log("单击了图层", event)
})
......
......@@ -507,7 +507,7 @@ export function showMonomer() {
name: "文庙",
type: "3dtiles",
url: "//data.mars3d.cn/3dtiles/qx-simiao/tileset.json",
position: { alt: 80.6 },
position: { alt: 38.8 },
maximumScreenSpaceError: 1,
show: true
})
......
......@@ -34,7 +34,7 @@ function addLayer() {
// 加载城市模型
const tilesetLayer = new mars3d.layer.TilesetLayer({
url: "//data.mars3d.cn/3dtiles/jzw-hefei2/tileset.json",
url: "//data.mars3d.cn/3dtiles/jzw-hefei/tileset.json",
maximumScreenSpaceError: 1,
style: {
color: {
......
......@@ -34,7 +34,7 @@ function addLayer() {
const tilesetLayer = new mars3d.layer.TilesetLayer({
name: "石化工厂",
url: "//data.mars3d.cn/3dtiles/max-shihua/tileset.json",
position: { lng: 117.077158, lat: 31.659116, alt: 24.6 },
position: { lng: 117.077158, lat: 31.659116, alt: -2.0 },
maximumScreenSpaceError: 1,
center: {
lat: 31.654436,
......
......@@ -30,7 +30,7 @@ export function onMounted(mapInstance) {
const tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "县城社区",
url: "//data.mars3d.cn/3dtiles/qx-shequ/tileset.json",
position: { alt: 20 },
position: { alt: 148.2 },
maximumScreenSpaceError: 1,
dynamicScreenSpaceError: true,
cullWithChildrenBounds: false,
......
......@@ -31,7 +31,7 @@ export function onMounted(mapInstance) {
type: "3dtiles",
name: "校园",
url: "//data.mars3d.cn/3dtiles/qx-xuexiao/tileset.json",
position: { alt: 15.8 },
position: { alt: 282.0 },
maximumScreenSpaceError: 1
})
map.addLayer(tilesetLayer)
......@@ -62,6 +62,8 @@ export function onMounted(mapInstance) {
})
map.addLayer(geoJsonLayerDTH)
mars3d.DrawUtil.setPointStyle({ has3dtiles: true })// 编辑点贴模型
graphicLayer = new mars3d.layer.GraphicLayer({
hasEdit: true,
isAutoEditing: true, // 绘制完成后是否自动激活编辑
......
......@@ -24,7 +24,7 @@ export function onMounted(mapInstance) {
type: "3dtiles",
name: "校园",
url: "//data.mars3d.cn/3dtiles/qx-xuexiao/tileset.json",
position: { alt: 15.8 },
position: { alt: 282.0 },
maximumScreenSpaceError: 1
})
map.addLayer(tilesetLayer)
......
......@@ -25,7 +25,7 @@ export function onMounted(mapInstance) {
type: "3dtiles",
name: "校园",
url: "//data.mars3d.cn/3dtiles/qx-xuexiao/tileset.json",
position: { alt: 15.8 },
position: { alt: 282.0 },
maximumScreenSpaceError: 1,
center: { lat: 43.821193, lng: 125.143124, alt: 990, heading: 342, pitch: -50 }
})
......
......@@ -25,7 +25,7 @@ export function onMounted(mapInstance) {
type: "3dtiles",
name: "校园",
url: "//data.mars3d.cn/3dtiles/qx-xuexiao/tileset.json",
position: { alt: 15.8 },
position: { alt: 282.0 },
maximumScreenSpaceError: 1,
center: { lat: 43.821193, lng: 125.143124, alt: 990, heading: 342, pitch: -50 }
})
......
......@@ -25,7 +25,7 @@ export function onMounted(mapInstance) {
type: "3dtiles",
name: "校园",
url: "//data.mars3d.cn/3dtiles/qx-xuexiao/tileset.json",
position: { alt: 15.8 },
position: { alt: 282.0 },
maximumScreenSpaceError: 1,
center: { lat: 43.821193, lng: 125.143124, alt: 990, heading: 342, pitch: -50 }
})
......
......@@ -23,7 +23,7 @@ export function onMounted(mapInstance) {
const tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "校园",
url: "//data.mars3d.cn/3dtiles/qx-xuexiao/tileset.json",
position: { alt: 15.8 },
position: { alt: 282.0 },
maximumScreenSpaceError: 1
})
map.addLayer(tiles3dLayer)
......
......@@ -24,7 +24,7 @@ export function onMounted(mapInstance) {
type: "3dtiles",
name: "石化工厂",
url: "//data.mars3d.cn/3dtiles/max-shihua/tileset.json",
position: { lng: 117.077158, lat: 31.659116, alt: 24.6 },
position: { lng: 117.077158, lat: 31.659116, alt: -2.0 },
maximumScreenSpaceError: 1,
highlight: { type: "click", color: "#00ffff" },
popup: "all"
......
......@@ -23,7 +23,7 @@ export function onMounted(mapInstance) {
type: "3dtiles",
name: "合肥国家大学科技园",
url: "//data.mars3d.cn/3dtiles/qx-hfdxy/tileset.json",
position: { alt: -24 },
position: { alt: 43.7 },
maximumScreenSpaceError: 1,
show: true
})
......
......@@ -23,7 +23,7 @@ export function onMounted(mapInstance) {
// 模型
tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "合肥市建筑物",
url: "//data.mars3d.cn/3dtiles/jzw-hefei2/tileset.json",
url: "//data.mars3d.cn/3dtiles/jzw-hefei/tileset.json",
maximumScreenSpaceError: 1,
style: {
color: {
......
......@@ -25,7 +25,7 @@ export function onMounted(mapInstance) {
tilesetLayer = new mars3d.layer.TilesetLayer({
name: "石化工厂",
url: "//data.mars3d.cn/3dtiles/max-shihua/tileset.json",
position: { lng: 117.077158, lat: 31.659116, alt: 24.6 },
position: { lng: 117.077158, lat: 31.659116, alt: -2.0 },
maximumScreenSpaceError: 1,
highlight: { type: "click", outlineEffect: true, width: 8, color: "#FFFF00" },
popup: "all"
......
......@@ -6,7 +6,7 @@ let tiles3dLayer
// 需要覆盖config.json中地图属性参数(当前示例框架中自动处理合并)
export const mapOptions = {
scene: {
center: { lat: 31.267519, lng: 121.42728, alt: 2923, heading: 118, pitch: -27 }
center: { lat: 31.795446, lng: 117.219725, alt: 1816, heading: 15, pitch: -34 }
}
}
......@@ -18,13 +18,13 @@ export const mapOptions = {
*/
export function onMounted(mapInstance) {
map = mapInstance // 记录map
map.basemap = 2017 // 蓝色底图
tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "上海市建筑物",
url: "//data.mars3d.cn/3dtiles/jzw-shanghai/tileset.json",
maximumScreenSpaceError: 8,
name: "合肥市建筑物",
url: "//data.mars3d.cn/3dtiles/jzw-hefei/tileset.json",
maximumScreenSpaceError: 1,
popup: "all"
})
map.addLayer(tiles3dLayer)
......@@ -59,8 +59,6 @@ export function setStyle1() {
export function setStyle2() {
globalMsg(`当前效果是:动态渐变+动态光环的特效`)
const upZ = tiles3dLayer.upAxis === Cesium.Axis.Z
tiles3dLayer.customShader = new Cesium.CustomShader({
lightingModel: Cesium.LightingModel.UNLIT,
fragmentShaderText: `
......@@ -69,12 +67,12 @@ export function setStyle2() {
vec4 position = czm_inverseModelView * vec4(fsInput.attributes.positionEC,1); // 位置
// 注意shader中写浮点数是,一定要带小数点,否则会报错,比如0需要写成0.0,1要写成1.0
float _baseHeight = 0.0; // 物体的基础高度,需要修改成一个合适的建筑基础高度
float _heightRange = 60.0; // 高亮的范围(_baseHeight ~ _baseHeight + _heightRange)
float _glowRange = 100.0; // 光环的移动范围(高度)
float _baseHeight = 50.0; // 物体的基础高度,需要修改成一个合适的建筑基础高度
float _heightRange = 380.0; // 高亮的范围(_baseHeight ~ _baseHeight + _heightRange)
float _glowRange = 400.0; // 光环的移动范围(高度)
// 建筑基础色
float mars_height = ${upZ ? "position.z" : "position.y"} - _baseHeight;
float mars_height = position.z - _baseHeight; //position.y
float mars_a11 = fract(czm_frameNumber / 120.0) * 3.14159265 * 2.0;
float mars_a12 = mars_height / _heightRange + sin(mars_a11) * 0.1;
material.diffuse = vec3(0.0, 0.0, 1.0); // 颜色
......@@ -111,7 +109,7 @@ export function setStyle3() {
void vertexMain(VertexInput vsInput, inout czm_modelVertexOutput vsOutput){
v_mars3d_normalMC = vsInput.attributes.normalMC;
}`,
fragmentShaderText: /* glsl */ `
fragmentShaderText: /* glsl 如果贴图方向不对,用下面这个 */ `
void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) {
vec3 positionMC = fsInput.attributes.positionMC;
if (dot(vec3(0.0, 0.0, 1.0), v_mars3d_normalMC) > 0.95) {
......@@ -126,33 +124,12 @@ export function setStyle3() {
if (mars3d_dotXAxis > 0.52 || mars3d_dotXAxis < -0.52) {
mars3d_textureX = mod(positionMC.x, mars3d_width) / mars3d_width;
} else {
mars3d_textureX = mod(positionMC.y, mars3d_width) / mars3d_width;
mars3d_textureX = mod(positionMC.y, mars3d_width) / mars3d_width; //positionMC.z
}
float mars3d_textureY = mod(positionMC.z, mars3d_height) / mars3d_height;
float mars3d_textureY = mod(positionMC.z, mars3d_height) / mars3d_height; //positionMC.y
material.diffuse = texture(u_mars3d_texture, vec2(mars3d_textureX, mars3d_textureY)).rgb;
}
}`
// fragmentShaderText: /* glsl 如果贴图方向不对,用下面这个 */ `
// void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) {
// vec3 positionMC = fsInput.attributes.positionMC;
// if (dot(vec3(0.0, 1.0, 0.0), v_mars3d_normalMC) > 0.95) {
// //处理楼顶:统一处理成深色。
// material.diffuse = vec3(0.079, 0.107, 0.111);
// } else {
// //处理四个侧面: 贴一样的图
// float mars3d_width = 100.0;
// float mars3d_height = 100.0;
// float mars3d_textureX = 0.0;
// float mars3d_dotXAxis = dot(vec3(0.0, 0.0, 1.0), v_mars3d_normalMC);
// if (mars3d_dotXAxis > 0.52 || mars3d_dotXAxis < -0.52) {
// mars3d_textureX = mod(positionMC.x, mars3d_width) / mars3d_width;
// } else {
// mars3d_textureX = mod(positionMC.z, mars3d_width) / mars3d_width;
// }
// float mars3d_textureY = mod(positionMC.y, mars3d_height) / mars3d_height;
// material.diffuse = texture(u_mars3d_texture, vec2(mars3d_textureX, mars3d_textureY)).rgb;
// }
// }`
})
}
......
......@@ -179,7 +179,7 @@ export function showQxShequDemo() {
tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "县城社区",
url: "//data.mars3d.cn/3dtiles/qx-shequ/tileset.json",
position: { alt: 11.5 },
position: { alt: 148.2 },
maximumScreenSpaceError: 1,
dynamicScreenSpaceError: true,
cullWithChildrenBounds: false,
......@@ -231,7 +231,7 @@ export function showQxSimiaoDemo() {
tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "文庙",
url: "//data.mars3d.cn/3dtiles/qx-simiao/tileset.json",
position: { alt: 80.6 },
position: { alt: 38.8 },
maximumScreenSpaceError: 1,
// "skipLevelOfDetail": true,
// "loadSiblings": true,
......@@ -284,9 +284,9 @@ export function showJzwHefeiDemo() {
vec4 position = czm_inverseModelView * vec4(fsInput.attributes.positionEC,1); // 位置
// 注意shader中写浮点数是,一定要带小数点,否则会报错,比如0需要写成0.0,1要写成1.0
float _baseHeight = 0.0; // 物体的基础高度,需要修改成一个合适的建筑基础高度
float _heightRange = 80.0; // 高亮的范围(_baseHeight ~ _baseHeight + _heightRange)
float _glowRange = 100.0; // 光环的移动范围(高度)
float _baseHeight = 50.0; // 物体的基础高度,需要修改成一个合适的建筑基础高度
float _heightRange = 380.0; // 高亮的范围(_baseHeight ~ _baseHeight + _heightRange)
float _glowRange = 400.0; // 光环的移动范围(高度)
// 建筑基础色
//vec4 diffuse = vec4(0.2, 0.5, 1.0, 1.0); // 固定颜色
......@@ -371,7 +371,7 @@ export function showMaxShihuaDemo() {
tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "石化工厂",
url: "//data.mars3d.cn/3dtiles/max-shihua/tileset.json",
position: { lng: 117.077158, lat: 31.659116, alt: 24.6 },
position: { lng: 117.077158, lat: 31.659116, alt: -2.0 },
maximumScreenSpaceError: 1,
// 以下参数可以参考用于3dtiles总数据大,清晰度过高情况下进行性能优化。这不是一个通用的解决方案,但可以以此为参考。
......
......@@ -87,7 +87,17 @@ export function onMounted(mapInstance) {
addbrightnessEffect(1.5)
setStyle1()
tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "合肥市建筑物",
url: "//data.mars3d.cn/3dtiles/jzw-hefei/tileset.json",
maximumScreenSpaceError: 1,
popup: [
{ field: "objectid", name: "编号" },
{ field: "name", name: "名称" },
{ field: "height", name: "楼高", unit: "米" }
]
})
map.addLayer(tiles3dLayer)
}
/**
......@@ -101,7 +111,7 @@ export function onUnmounted() {
// 开启亮度
export function addbrightnessEffect(brightness) {
brightnessEffect = new mars3d.effect.BrightnessEffect({
enabled: true,
enabled: false,
brightness: brightness
})
map.addEffect(brightnessEffect)
......@@ -128,28 +138,13 @@ export function setStyleDef() {
// mars3d 内置marsJzwStyle属性
export function setStyle1() {
if (tiles3dLayer) {
tiles3dLayer.remove()
}
tiles3dLayer.customShader = undefined
tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "合肥市建筑物",
url: "//data.mars3d.cn/3dtiles/jzw-hefei/tileset.json",
maximumScreenSpaceError: 1,
marsJzwStyle: true, // 打开建筑物特效(内置Shader代码)
popup: [
{ field: "objectid", name: "编号" },
{ field: "name", name: "名称" },
{ field: "height", name: "楼高", unit: "米" }
]
})
map.addLayer(tiles3dLayer)
tiles3dLayer.marsJzwStyle = true // 打开建筑物特效(内置Shader代码)
}
// customShader参数方式
export function setStyle2() {
const upZ = tiles3dLayer.upAxis === Cesium.Axis.Z
tiles3dLayer.marsJzwStyle = false
tiles3dLayer.customShader = new Cesium.CustomShader({
lightingModel: Cesium.LightingModel.UNLIT,
......@@ -159,12 +154,12 @@ export function setStyle2() {
vec4 position = czm_inverseModelView * vec4(fsInput.attributes.positionEC,1); // 位置
// 注意shader中写浮点数是,一定要带小数点,否则会报错,比如0需要写成0.0,1要写成1.0
float _baseHeight = 0.0; // 物体的基础高度,需要修改成一个合适的建筑基础高度
float _heightRange = 80.0; // 高亮的范围(_baseHeight ~ _baseHeight + _heightRange)
float _glowRange = 100.0; // 光环的移动范围(高度)
float _baseHeight = 50.0; // 物体的基础高度,需要修改成一个合适的建筑基础高度
float _heightRange = 380.0; // 高亮的范围(_baseHeight ~ _baseHeight + _heightRange)
float _glowRange = 400.0; // 光环的移动范围(高度)
// 建筑基础色
float mars_height = ${upZ ? "position.z" : "position.y"} - _baseHeight;
float mars_height = position.z - _baseHeight;
float mars_a11 = fract(czm_frameNumber / 120.0) * 3.14159265 * 2.0;
float mars_a12 = mars_height / _heightRange + sin(mars_a11) * 0.1;
......@@ -179,86 +174,51 @@ export function setStyle2() {
material.diffuse += material.diffuse * (1.0 - mars_diff);
} `
})
tiles3dLayer.reload()
}
// customShader参数方式 夜景贴图
export function setStyle3() {
if (tiles3dLayer) {
tiles3dLayer.remove()
}
tiles3dLayer = new mars3d.layer.TilesetLayer({
name: "合肥市建筑物",
url: "//data.mars3d.cn/3dtiles/jzw-hefei2/tileset.json",
maximumScreenSpaceError: 1,
customShader: new Cesium.CustomShader({
lightingModel: Cesium.LightingModel.UNLIT,
varyings: {
v_mars3d_normalMC: Cesium.VaryingType.VEC3
},
uniforms: {
u_mars3d_texture: {
value: new Cesium.TextureUniform({
url: "/img/textures/buildings.png"
}),
type: Cesium.UniformType.SAMPLER_2D
}
},
vertexShaderText: /* glsl */ `
void vertexMain(VertexInput vsInput, inout czm_modelVertexOutput vsOutput){
v_mars3d_normalMC = vsInput.attributes.normalMC;
}`,
// fragmentShaderText: /* glsl 如果贴图方向不对,用下面这个 */ `
// void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) {
// vec3 positionMC = fsInput.attributes.positionMC;
// if (dot(vec3(0.0, 0.0, 1.0), v_mars3d_normalMC) > 0.95) {
// //处理楼顶:统一处理成深色。
// material.diffuse = vec3(0.079, 0.107, 0.111);
// } else {
// //处理四个侧面: 贴一样的图
// float mars3d_width = 100.0;
// float mars3d_height = 100.0;
// float mars3d_textureX = 0.0;
// float mars3d_dotXAxis = dot(vec3(0.0, 1.0, 0.0), v_mars3d_normalMC);
// if (mars3d_dotXAxis > 0.52 || mars3d_dotXAxis < -0.52) {
// mars3d_textureX = mod(positionMC.x, mars3d_width) / mars3d_width;
// } else {
// mars3d_textureX = mod(positionMC.y, mars3d_width) / mars3d_width;
// }
// float mars3d_textureY = mod(positionMC.z, mars3d_height) / mars3d_height;
// material.diffuse = texture(u_mars3d_texture, vec2(mars3d_textureX, mars3d_textureY)).rgb;
// }
// }`
fragmentShaderText: /* glsl */ `
void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) {
vec3 positionMC = fsInput.attributes.positionMC;
if (dot(vec3(0.0, 1.0, 0.0), v_mars3d_normalMC) > 0.95) {
//处理楼顶:统一处理成深色。
material.diffuse = vec3(0.079, 0.107, 0.111);
tiles3dLayer.marsJzwStyle = false
tiles3dLayer.customShader = new Cesium.CustomShader({
lightingModel: Cesium.LightingModel.UNLIT,
varyings: {
v_mars3d_normalMC: Cesium.VaryingType.VEC3
},
uniforms: {
u_mars3d_texture: {
value: new Cesium.TextureUniform({
url: "/img/textures/buildings.png"
}),
type: Cesium.UniformType.SAMPLER_2D
}
},
vertexShaderText: /* glsl */ `
void vertexMain(VertexInput vsInput, inout czm_modelVertexOutput vsOutput){
v_mars3d_normalMC = vsInput.attributes.normalMC;
}`,
fragmentShaderText: /* glsl 如果贴图方向不对,用下面这个 */ `
void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) {
vec3 positionMC = fsInput.attributes.positionMC;
if (dot(vec3(0.0, 0.0, 1.0), v_mars3d_normalMC) > 0.95) {
//处理楼顶:统一处理成深色。
material.diffuse = vec3(0.079, 0.107, 0.111);
} else {
//处理四个侧面: 贴一样的图
float mars3d_width = 100.0;
float mars3d_height = 100.0;
float mars3d_textureX = 0.0;
float mars3d_dotXAxis = dot(vec3(0.0, 1.0, 0.0), v_mars3d_normalMC);
if (mars3d_dotXAxis > 0.52 || mars3d_dotXAxis < -0.52) {
mars3d_textureX = mod(positionMC.x, mars3d_width) / mars3d_width;
} else {
//处理四个侧面: 贴一样的图
float mars3d_width = 100.0;
float mars3d_height = 100.0;
float mars3d_textureX = 0.0;
float mars3d_dotXAxis = dot(vec3(0.0, 0.0, 1.0), v_mars3d_normalMC);
if (mars3d_dotXAxis > 0.52 || mars3d_dotXAxis < -0.52) {
mars3d_textureX = mod(positionMC.x, mars3d_width) / mars3d_width;
} else {
mars3d_textureX = mod(positionMC.z, mars3d_width) / mars3d_width;
}
float mars3d_textureY = mod(positionMC.y, mars3d_height) / mars3d_height;
material.diffuse = texture(u_mars3d_texture, vec2(mars3d_textureX, mars3d_textureY)).rgb;
mars3d_textureX = mod(positionMC.y, mars3d_width) / mars3d_width; //positionMC.z
}
}`
}),
popup: [
{ field: "objectid", name: "编号" },
{ field: "name", name: "名称" },
{ field: "height", name: "楼高", unit: "米" }
]
float mars3d_textureY = mod(positionMC.z, mars3d_height) / mars3d_height; //positionMC.y
material.diffuse = texture(u_mars3d_texture, vec2(mars3d_textureX, mars3d_textureY)).rgb;
}
}`
})
map.addLayer(tiles3dLayer)
}
// 颜色改变
......
......@@ -2,7 +2,6 @@ import * as mars3d from "mars3d"
export let map // mars3d.Map三维地图对象
let tilesetClip
let queryGaodePOI
// 需要覆盖config.json中地图属性参数(当前示例框架中自动处理合并)
export const mapOptions = {
......@@ -26,7 +25,6 @@ export function onMounted(mapInstance) {
map = mapInstance // 记录map
queryTilesetData()
queryGaodePOI = new mars3d.query.GaodePOI()
}
/**
......@@ -52,26 +50,22 @@ export function removeLayer(layer) {
map.removeLayer(layer)
}
// export function cutModel(layer) {
// // 3d模型裁剪
// const tilesetPlanClip = new mars3d.thing.TilesetClip({
// layer: layer,
// clipOutSide: true, // 外裁剪
// positions: [
// [117.196484, 31.803549],
// [117.196484, 31.835931],
// [117.247038, 31.835931],
// [117.247038, 31.803549]
// ]
// })
// map.addThing(tilesetPlanClip)
// }
// 数据获取
function queryTilesetData() {
mars3d.Util.fetchJson({ url: "config/tileset.json" })
.then(function (arr) {
const modelData = arr.layers
eventTarget.fire("loadTypeList", { modelData })
})
.catch(function (error) {
console.log("加载JSON出错", error)
})
}
export function cutModel(layer) {
// 3d模型裁剪
tilesetClip = new mars3d.thing.TilesetClip({
layer: layer,
clipOutSide: false, // 内裁剪
positions: [
[117.217052, 31.828226, 33],
[117.226442, 31.826613, 36.3],
......@@ -85,15 +79,3 @@ export function cutModel(layer) {
})
map.addThing(tilesetClip)
}
// 数据获取
function queryTilesetData() {
mars3d.Util.fetchJson({ url: "config/tileset.json" })
.then(function (arr) {
const modelData = arr.layers
eventTarget.fire("loadTypeList", { modelData })
})
.catch(function (error) {
console.log("加载JSON出错", error)
})
}
......@@ -56,9 +56,9 @@ export function setStyle2() {
vec4 position = czm_inverseModelView * vec4(fsInput.attributes.positionEC,1); // 位置
// 注意shader中写浮点数是,一定要带小数点,否则会报错,比如0需要写成0.0,1要写成1.0
float _baseHeight = 0.0; // 物体的基础高度,需要修改成一个合适的建筑基础高度
float _heightRange = 80.0; // 高亮的范围(_baseHeight ~ _baseHeight + _heightRange)
float _glowRange = 60.0; // 光环的移动范围(高度)
float _baseHeight = 50.0; // 物体的基础高度,需要修改成一个合适的建筑基础高度
float _heightRange = 380.0; // 高亮的范围(_baseHeight ~ _baseHeight + _heightRange)
float _glowRange = 400.0; // 光环的移动范围(高度)
// 建筑基础色
float mars_height = position.z - _baseHeight;
......
......@@ -40,7 +40,7 @@ export function onMounted(mapInstance) {
// 三维模型
const tilesetLayer = new mars3d.layer.TilesetLayer({
url: "//data.mars3d.cn/3dtiles/qx-simiao/tileset.json",
position: { alt: 80.6 },
position: { alt: 38.8 },
maximumScreenSpaceError: 1
})
map.addLayer(tilesetLayer)
......
......@@ -11,8 +11,8 @@ export const mapOptions = {
{
pid: 2040,
type: "3dtiles",
name: "合肥市区2",
url: "//data.mars3d.cn/3dtiles/jzw-hefei2/tileset.json",
name: "合肥市区",
url: "//data.mars3d.cn/3dtiles/jzw-hefei/tileset.json",
maximumScreenSpaceError: 1,
style: {
color: {
......
......@@ -19,17 +19,7 @@ export const eventTarget = new mars3d.BaseClass() // 事件对象,用于抛出
*/
export function onMounted(mapInstance) {
map = mapInstance // 记录map
addMeasure()
}
/**
* 释放当前地图业务的生命周期函数
* @returns {void} 无
*/
export function onUnmounted() {
map = null
}
function addMeasure() {
measureObj = new mars3d.thing.Measure({
// 设置文本样式
label: {
......@@ -64,7 +54,40 @@ function addMeasure() {
eventTarget.fire("measureClick", { value: e.graphic?.measured })
}
})
// 加一些演示数据
addDemoGraphic1(measureObj.graphicLayer)
}
/**
* 释放当前地图业务的生命周期函数
* @returns {void} 无
*/
export function onUnmounted() {
map = null
}
function addDemoGraphic1(graphicLayer) {
const graphic = new mars3d.graphic.SectionMeasure({
exact: true,
positions: [
[116.193794, 30.994415, 654.8],
[116.236077, 30.925154, 506.2],
[116.314569, 30.864239, 408.7],
[116.341924, 30.847984, 381.8],
[116.392754, 30.854264, 581.7],
[116.415222, 30.880092, 580.5],
[116.567457, 30.85223, 314.6]
],
style: {
width: 5,
color: "#3388ff"
},
attr: { remark: "示例1" }
})
graphicLayer.addGraphic(graphic)
}
export function removeAll() {
measureObj.clear()
......
......@@ -33,7 +33,7 @@ export function onMounted(mapInstance) {
// 加个模型
const tilesetLayer = new mars3d.layer.TilesetLayer({
url: "//data.mars3d.cn/3dtiles/qx-simiao/tileset.json",
position: { alt: 80.6 },
position: { alt: 38.8 },
maximumScreenSpaceError: 1,
shadows: Cesium.ShadowMode.ENABLED
})
......
......@@ -26,7 +26,7 @@ export function onMounted(mapInstance) {
type: "3dtiles",
name: "县城社区",
url: "//data.mars3d.cn/3dtiles/qx-shequ/tileset.json",
position: { alt: 11.5 },
position: { alt: 148.2 },
maximumScreenSpaceError: 1,
show: true
})
......
......@@ -97,7 +97,7 @@ export function showXianDemo() {
tilesetLayer = new mars3d.layer.TilesetLayer({
name: "县城社区",
url: "//data.mars3d.cn/3dtiles/qx-shequ/tileset.json",
position: { alt: 11.5 },
position: { alt: 148.2 },
maximumScreenSpaceError: 1,
skipLevelOfDetail: true,
preferLeaves: true,
......
......@@ -18,7 +18,7 @@ export function onMounted(mapInstance) {
tilesetLayer = new mars3d.layer.TilesetLayer({
name: "县城社区",
url: "//data.mars3d.cn/3dtiles/qx-shequ/tileset.json",
position: { alt: 11.5 },
position: { alt: 148.2 },
maximumScreenSpaceError: 1,
skipLevelOfDetail: true,
preferLeaves: true,
......
......@@ -1960,7 +1960,7 @@ const styleConfig = {
polyline: {
name: "线",
primitive: true,
extends: ["curve", "distanceMeasure", "heightMeasure"],
extends: ["curve","brushLine", "distanceMeasure", "heightMeasure"],
style: [
{ name: "width", label: "线宽", type: "number", step: 1, defval: 4.0 },
{
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论