require(
[
"esri/Map",
"esri/views/SceneView",
"esri/Camera",
"esri/Graphic",
"esri/layers/GraphicsLayer",
],
function( Map, SceneView, Camera, Graphic,GraphicsLayer) {
})
var map = new Map({
basemap: "hybrid",
ground: "world-elevation"
});
var cam = new Camera({
heading: 0,
tilt: 70,
position: cameraPosition
});
var view = new SceneView({
container: "viewDiv",
map: map,
camera: cam
});
var layer = new GraphicsLayer({
id:'job',
elevationInfo:{mode :'relative-to-scene' }
});
map.add(layer);
- 3D图标
//3D模型下载网站 https://sketchfab.com/3d-models?features=downloadable&sort_by=-likeCount
//下载解压后 会有三个文件 放进同一个文件下 直接引入
var markerSymbol = {
type: "point-3d",
symbolLayers: [{
type: "object",
anchor:'relative',
anchorPosition:{x:0,y:0,z:0.3},
resource: {
href: "images/img_jobPlay/scene.gltf"
},
height: 4,
heading:30,
material: {
color: "red"
}
}]
};
var pointAtt = {
name:'point'
};
var point = {
type: "point",
x:lo,
y:la,
z: heigth
};
var pointGraphic = new Graphic({
geometry: point,
symbol: markerSymbol,
attributes: pointAtt
});
layer.add(pointGraphic);
- 效果图
![](https://i-blog.csdnimg.cn/blog_migrate/c3e363bc437829116897e379c78671c1.png)