地图图层Layer

//直接创建具体类型的图层对象 var tileLayer = new mars3d.layer.XyzLayer({ url: ‘https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png‘, subdomains: ‘abc’, }) map.addLayer(tileLayer)

  1. - 图层主要分以下几大类
  2. 1. 地形图层 [TerrainLayer](http://mars3d.cn/api/TerrainLayer.html) 三维地图场景 的 基石和骨骼
  3. 1. 栅格瓦片图层 [BaseTileLayer](http://mars3d.cn/api/BaseTileLayer.html)三维场景的皮肤
  4. <a name="DOG7g"></a>
  5. ### 矢量数据图层 [GraphicLayer](http://mars3d.cn/api/GraphicLayer.html)
  6. <a name="rtPm4"></a>
  7. #### 创建图层
  8. ```javascript
  9. if (this.siteLayer != undefined) {
  10. this.siteLayer.remove();
  11. }
  12. //创建图层
  13. this.siteLayer = new mars3d.layer.GraphicLayer();
  14. this.map.addLayer(this.siteLayer);
  15. //创建矢量图 mars3d.graphic.矢量图类型
  16. const graphic = new mars3d.graphic.ModelEntity({
  17. }}
  18. //添加矢量图到图层
  19. this.siteLayer.addGraphic(graphic)

图层循环

  1. this.siteLayer.eachGraphic((graphic) => {
  2. console.log('矢量图数据',graphic.attr)
  3. })

矢量图设置数据和样式

  1. graphic.setOptions({
  2. attr: {
  3. }
  4. });
  5. carGraphic.setStyle({
  6. label: {
  7. color: '#2BDBC3',
  8. outlineColor: '#2BDBC3',
  9. pixelOffsetY: -60,
  10. },
  11. })

三维模型图层 TilesetLayer 呈现更细节的三维场景

  1. // 场景模型
  2. this.senceModelLayer = new mars3d.layer.TilesetLayer({
  3. hasZIndex: true,
  4. zIndex: 100,
  5. name: "建筑物",
  6. url: "/platform/static/models/scene/tileset.json",
  7. position: {lng: 119.90958479, lat: 30.54149118, alt: 0},
  8. maximumScreenSpaceError: 1,
  9. maximumMemoryUsage: 1024,
  10. scale: 0.8506,
  11. });
  1. 图层组 GroupLayer 方便组合管理
  2. 其他可视化图层