可视域分析
在地图场景中指定位置、指定参数创建可视域分析,支持二维地图、fill-extrusion建筑图层、模型图层、3DTiles图层同步分析


<!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%;
}
.btn-group {
position: absolute;
top: 20px;
left: 20px;
}
</style>
<script src="https://delivery.mapmost.com/cdn/sdk/webgl/v9.1.0/mapmost-webgl-min.js"></script>
</head>
<body>
<div id="map"></div>
<div class="btn-group">
<button onClick="add()">添加可视域分析</button>
<button onClick="remove()">删除可视域分析</button>
</div>
<script>
var map = new mapmost.Map({
container: 'map',
style: "<your style url>",
center: [120.75007613619039,31.312762277059107],
zoom: 16,
pitch: 60,
userId: '***', // 授权码
});
let analysis;
function add() {
analysis = new mapmost.ViewshedAnalysis(map);
// 分析参数
let opt = {
position: [120.7669270700174, 31.30360462347376, 800],
pitch: 60,
bearing: 57,
fovX: 90,
fovY: 45,
distance: 3000,
visibleColor: "#007f00",
visibleOpacity: 0.3,
invisibleColor: "#990000",
invisibleOpacity: 0.5,
wireframeColor: "#ffff00",
wireframeDisplay: true,
wireframeDensity: 8,
}
// 开始分析
analysis.analyse(opt);
}
function remove() {
// 清除分析结果,保留分析实例,可更新分析结果
analysis.clear();
}
</script>
</body>
</html>