跳到主要内容
版本:9.1.0

批量加载模型

基于坐标点位进行的现有模型的批量加载和展示。

show
<!DOCTYPE html>
<html>

<head>
<meta charset="utf-8"/>
<title>批量加载模型</title>
<meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no"/>
<style>
body {
margin: 0;
padding: 0;
}

#map {
position: absolute;
top: 0;
bottom: 0;
width: 100%;
}

</style>
<script src="https://delivery.mapmost.com/cdn/sdk/webgl/v9.1.0/mapmost-webgl-min.js"></script>
</head>

<body>
<div id="map"></div>
<script>
let map = new mapmost.Map({
container: 'map',
style: "<your style url>",
center: [120.74603465203592, 31.30605899929158],
zoom: 16.810035105070947,
pitch: 59.48725112156901,
bearing: -54.10626584095007,
userId: '***', // 授权码
});

map.on('load', function () {

let options = {
id: 'model_id',
type: 'model',
callback: function (group, layer) {

let data = [{
coordinate: [120.74603465203592, 31.30605899929158, 10.0]
}, {
coordinate: [120.74609465203592, 31.30605899929158, 10.0]
}, {
coordinate: [120.74615465203592, 31.30605899929158, 10.0]
}]
let group0 = layer.addBatchModel({
type: "model",
model: {
type: 'glb',
url: "../example_data/ball01_1.glb"
},
scale: 1,
data: data
}, function (models) {
// 获取单个模型
let obj = models.children[0].children[0];
// 坐标系参考,红绿蓝表示 xyz 轴
const axesHelper = new mapmost.THREE.AxesHelper(500);
models.children[0].add(axesHelper);
// 模型放大2倍
obj.scale.set(2, 2, 2)
// 模型沿 X 方向平移 20 米
obj.translateX(20)
// 模型绕 Y 轴旋转 90
obj.rotateY(Math.PI / 2);
})
}
};
map.addLayer(options);
})
</script>
</body>

</html>