Mars3d最简项目模板学习(一)

一、加载资源

"use script"

if (!mars3d.Util.webglreport) {
  mars3d.Util.webglerror()
}

let configUrl = 'config/config.json'
mars3d.Util.fetchJson({ url: configUrl })
  .then((data) => {
    initMap(data.map3d)
  }).catch(function (error) {
    haoutil.alert(error?.message, '出错了')
  })

var map;

function initMap (mapOptions) {

  // 到目前为止会加载出一张地图,而不是一个地球,因为mapOptions中配置了加载【lat:纬度值,lng:经度值】
  // map = new mars3d.Map('mars3dContainer', mapOptions)

  // 这个配置会加载出一个地球, 之所以没有出现左下角控制按钮,应为没有在配置中配置control控件
  map = new mars3d.Map('mars3dContainer', { basemaps: [{ name: "天地图", type: "tdt", layer: "img_d", show: true }], })
}

配置参数

mapOption的配置参数:http://mars3d.cn/apidoc.html#Map
在线体验: http://mars3d.cn/editor-vue.html?id=map/create/options&code=1
教程: http://mars3d.cn/dev/guide/map/map.html#_1-%E4%B8%89%E7%BB%B4%E5%9C%BA%E6%99%AF%E5%88%9D%E5%A7%8B%E5%8C%96

二、图层

在这里插入图片描述

2.1 栅格瓦片底图

在这里插入图片描述
在这里插入图片描述

使用(可以配置使用,也可以代码添加)

配置使用: http://mars3d.cn/dev/guide/map/map.html#_7-%E6%A0%85%E6%A0%BC%E7%93%A6%E7%89%87%E5%BA%95%E5%9B%BE
详细介绍: http://mars3d.cn/dev/guide/map/tileLayer.html
*basemap中一个对象就是一个底图,一个底图中可以配置多个图层*

使用(底图配置的图层)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

使用(代码添加)

在这里插入图片描述

2.2 矢量数据图层

在这里插入图片描述
在这里插入图片描述

使用:与上面相同

详细介绍:http://mars3d.cn/dev/guide/map/graphic.html#_1-%E7%9F%A2%E9%87%8F%E6%95%B0%E6%8D%AE%E5%AF%B9%E8%B1%A1

在这里插入图片描述

"use script"

if (!mars3d.Util.webglreport) {
  mars3d.Util.webglerror()
}

let configUrl = 'config/config.json'
mars3d.Util.fetchJson({ url: configUrl })
  .then((data) => {
    initMap(data.map3d)
  }).catch(function (error) {
    haoutil.alert(error?.message, '出错了')
  })

var map;

function initMap (mapOptions) {

  // 到目前为止会加载出一张地图,而不是一个地球,因为mapOptions中配置了加载【lat:纬度值,lng:经度值】
  map = new mars3d.Map('mars3dContainer', mapOptions)

  // 给地图添加了矢量数据图层
  let graphicLayer = new mars3d.layer.GraphicLayer();
  map.addLayer(graphicLayer);

  // 监听矢量数据的点击事件(光有监听不行,还得有矢量对象)
  graphicLayer.on(mars3d.EventType.click, function (event) {
    console.log("监听layer,单击了矢量对象", event);
  });

  // 添加矢量对象
  addDemoGraphic1(graphicLayer)
  function addDemoGraphic1 (graphicLayer) {
    const graphic = new mars3d.graphic.LabelEntity({
      position: new mars3d.LngLatPoint(116.1, 31.0, 1000),
      style: {
        text: "火星科技Mars3D平台",
        font_size: 25,
        font_family: "楷体",
        color: "#003da6",
        outline: true,
        outlineColor: "#bfbfbf",
        outlineWidth: 2,
        horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
        verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
        visibleDepth: false
      },
      attr: { remark: "示例1" }
    })
    graphicLayer.addGraphic(graphic)
  }
}

未完待续…

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值