Geoscene api for javascript加载倾斜模型
·
概要
加载倾斜模型用到Geoscene 的两个api:IntegratedMeshLayer、SceneView,arcgis类同。
代码
<script>
import Map from '@geoscene/core/Map.js'
import SceneView from '@geoscene/core/views/SceneView.js'
import IntegratedMeshLayer from "@geoscene/core/layers/IntegratedMeshLayer"
import LayerList from '@geoscene/core/widgets/LayerList'
var MAP1;
var view;
var sceneLayer;
export default {
name: "inclinedmodel",
mounted() {
this.initMap();
},
methods: {
initMap() {
var sceneLayer = new IntegratedMeshLayer({
url:
"https://*****/SceneServer", //替换你自己的倾斜模型服务
});
let MAP1 = new Map({
layers: [sceneLayer]
});
var view = new SceneView({
container: "viewDiv", // 关联的 HTML 容器 ID
map: MAP1,
camera: {
position: {
x: 0, // 经度
y: 0, // 纬度
z: 0, // 高度(米)
spatialReference: { wkid: 3857 }
},
// heading: 0, // 方向(度)
tilt: 45 // 倾斜角度(度)
},
});
MAP1.add(sceneLayer);
let layerList = new LayerList({
view: view
});
view.ui.add(layerList, {
position: "top-right"
});
// 可视区全部展示范围
view.when(function () {
view.extent = sceneLayer.fullExtent;
});
},
},
beforeUnmount() { // 模型太占内存,记得销毁
if (MAP1) {
MAP1.remove(sceneLayer);
MAP1.destroy();
MAP1 = null;
}
if (view) {
view.destroy();
view = null;
}
}
}
</script>
技术细节
- 代码里的camera里的position里x、y为经纬度坐标。当倾斜模型是城市坐标时,记得去查阅下你的服务里的x、y范围,你的x、y值不能超过该值,否则就会加载不出来。
- 记得指定坐标,因为也可能导致模型无法加载
更多推荐


所有评论(0)