首先建议您学习浏览一遍我们功能示例的源码(源码中会有大量注释),阅读源码时可以结合查阅API文档来理解类及方法的作用和参数说明等。

#项目介绍

这是一个基于 原生JS 开发的 mars3d 示例项目。

如果您不熟悉原生JS,对Vue比较熟悉,可以阅读: 功能示例Vue版教程 、 mars3d-vue-example代码

#运行效果

在线体验

#下载运行项目

如果需要将 原生JS版 功能示例下载到本地运行,可以前往 Github地址 或 Gitee地址(国内) 进行下载后再本地运行和开发。

#下载代码

下面我们已Github地址 为例, Gitee地址(国内) 操作类同。

  • 如果本地没有git软件,可以浏览器输入https://github.com/marsgis/mars3d-es5-example 地址后,按下图下载zip包。

  • 如果本地有git软件,可以输入下面命令,拉取代码
git clone https://github.com/marsgis/mars3d-es5-example.git

1

复制代码

#运行环境

在任意开发编辑器(如vscode等)或http服务器(如node、nginx、tomcat、IIS等)下直接运行浏览index.html或对应示例页面即可 ,

建议使用VScode工具打开代码目录(请参考上一章节安装好VScode 及 Live Server插件)。

  • 推荐使用 vscode,安装参考开发环境搭建教程
  • 安装 vscode 插件,推荐安装 Live Server

参考下图通过Live Server访问各页面

#压缩及混淆

如果需要编译、对整站压缩及混淆,请参考:GitHub - muyao1987/web-dist: 传统模式开发的web站点 进行整站所有文件压缩及混淆处理

#如何反馈问题?

  • 发现您发现项目中存在的问题或者需要优化的地方;
  • 如果您有一些自己全新编写的示例,希望也开源与大家分享。

提交方式:

  • 欢迎在github或gitee上提交PR
  • 如果对git不熟悉,也可以整理示例代码发送邮件到 wh@marsgis.cn 由我们来整理集成。

#项目架构

#主要目录说明

mars3d-es5-example
└───data                列表配置信息及截图
│───example             示例代码,每个示例页面可以单独运行【重要】
│───lib                 示例依赖资源
│   └─include-lib.js    lib资源统一配置文件
│───static              列表页、编辑页对应js、css
└───index.html          列表页

与示例相关的2个主要目录是:examplelib

#include-lib.js文件说明

我们当前原生JS版本功能示例页面,第三方类库及我们的sdk类库都存放在lib目录下,每个目录均有README.md文件说明该类库的github地址、官网和用途等信息。

为了方便切换和引入第3方lib,我们编写了一个独立的js文件include-lib.js 来统一调用使用第3方lib,在需要的页面按下面方式引入lib:

<!--第三方lib-->
<script type="text/javascript" src="../lib/include-lib.js" libpath="../lib/"include="font-awesome,turf,mars3d"></script>

该方式等价于(如不习惯include-lib.js,也可以改为下面演示的直接引入方式):

<!--对应font-awesome-->
<link rel="stylesheet" href="../lib/fonts/font-awesome/css/font-awesome.min.css"><!--对应turf-->
<script type="text/javascript" src="../lib/turf/turf.min.js"></script><!--对应mars3d-->
<link rel="stylesheet" href="../lib/Cesium/Widgets/widgets.css">
<script type="text/javascript" src="../lib/Cesium/Cesium.js"></script>
<link rel="stylesheet" href="../lib/mars3d/mars3d.css">
<script type="text/javascript" src="../lib/mars3d/mars3d.js"></script>

#添加新的示例

复制example\00_model.html文件后改名,并修改代码即可。

#阅读示例源码和调试学习

示例的目的是演示平台的每个功能点,可以按需求或兴趣去学习每一个示例,

  • (1)学习中可以查询相关类的API文档
  • (2)尝试修改源码中参数、方法等,来体验不同的呈现效果。

#开发中常见问题

#1. 局域网离线使用时注意事项

平台所有代码层面来说支持离线运行和使用的,但需要注意的是离线时的地图服务的相关处理。

如果局域网内有相关地形、卫星底图服务可以按内网服务类型和URL地址替换下config.json构造Map的代码中的默认地形和底图。

如果局域网内没有相关服务,可以按下面处理:

  • 修改config.json中terrain配置中,将已有的"show": true配置,改为"show": false
  • 修改config.json中basemaps数组配置中,将已有的"show": true的图层,将该值改为"show": false ,并将单张图片或离线地图加上"show": true,并修改相关URL地址。
  • 您也可以参考教程发布三维数据服务进行部署离线地图服务,里面也有一些示例离线数据。

Mars3D功能示例原生JS版下载运行相关推荐

  1. Mars3D项目模板:基础项目 原生JS版 (widget方式)介绍

    项目介绍 Mars3D基础项目 是基于Mars3D平台 做的一个应用系统,提供的一个基础项目模版,包含常用基础地图功能,可在该基础项目上快速开发搭建新项目.方便快速搭建三维地图产品,敏捷开发,可复用, ...

  2. php前台限制输入text字符,限制字符输入数功能(jquery版和原生JS版)

    比较常用的限制字符输入数功能(比如热火超天的微博输入框),用jquery和原生JavaScript分别写了一个.原生JavaScript注释中有区分中英文字符的函数, 但个人并不建议这么做. 已知BU ...

  3. 限制字符输入数功能(jQ版和原生JS版)

    限制字符输入数功能(jQ版和原生JS版) 比较常用的限制字符输入数功能(比如热火超天的微博输入框),用jQuery和原生JavaScript分别写了一个.原生JavaScript注释中有区分中英文字符 ...

  4. AJAX初识(原生JS版AJAX和Jquery版AJAX)

    一.什么是JSON 1.介绍JSON独立于语言,是一种与语言无关的数据格式.JSON指的是JavaScript对象表示法(JavaScript Object Notation)JSON是轻量级的文本数 ...

  5. 模拟百度搜索框自动联想功能,原生js+jsonp轻松搞定

    链接 下面是我闲暇时总结的JS.CSS.算法总结,欢迎大家点赞.star-- 有趣实用的CSS效果 前端博客 传送门 LeetCode个人题解 传送门 讲解如何利用百度接口仿写一个搜索联想词功能 效果 ...

  6. 植物大战僵尸1辅助,JS版

    植物大战僵尸1辅助,js版 使用简易引擎 + js开发,植物大战僵尸1单击版游戏辅助工具 本程序源代码:https://gitee.com/yisin/zwdzjs1tool 本软件使用[简易引擎JS ...

  7. JS实现下载xlsx格式文件--js-xlsx

    之前写过关于JS上传xlsx文件,这回是关于下载的.用的技术还是js-xlsx,blob. 部分内容转至纯前端利用 js-xlsx 实现 Excel 文件导入导出功能示例 关于js-xlsx的下载,请 ...

  8. html 写字版插件,原生JS+HTML5实现的可调节写字板功能示例

    本文实例讲述了原生JS+HTML5实现的可调节写字板功能.分享给大家供大家参考,具体如下: 本文实例讲述了原生JS+HTML5实现的可调节写字板功能.分享给大家供大家参考,具体如下: 前面一篇介绍了& ...

  9. linux脚本石英钟,原生JS实现的简单小钟表功能示例

    本文实例讲述了原生JS实现的简单小钟表功能.分享给大家供大家参考,具体如下: 先来看看运行效果: 完整代码: www.jb51.net 钟表 body { background-color:#00A2 ...

最新文章

  1. springboot实战 获取spring上下文的4种方式
  2. JS(DOM对象 表单验证与正则表达)
  3. UbbCode用正则替换指定格式的输入实现想要的输出
  4. python 3d重建_3D点云重建原理及Pytorch实现
  5. 【CodeForces - 299C 】Weird Game (思维,模拟,贪心,博弈,OAE思想)
  6. 别用Excel做数据可视化了!这款报表工具不比它香100倍?
  7. 枚举、位操作 CLR学习第十二课
  8. mysql ssl jdbc_【MySQLSSLJAVA】关于MySQL开启SSL后,jdbc的配置
  9. Oracle 关于WKT构造SDO_GEOMETRY的问题。
  10. 有序数组的平方(力扣)
  11. ie版本过低提示升级ie的示例
  12. win10任务栏透明_Win7升Win10用不惯?让Win10秒变Win7的利器Start10
  13. 常用测试用例设计方法4-场景法
  14. 自我介绍一分钟范文(碎的)
  15. 服务器上挂网站怎么挂,网站怎样上挂到云服务器
  16. 不小心格式化了硬盘怎么恢复?
  17. edt嵌入式确定性测试_CallSerially EDT和InvokeAndBlock(第1部分)
  18. DDD 领域概念字典
  19. Codeforces Round #360(div2)
  20. (1366, Incorrect string value: '\\xD6\\xD0\\xB9\\xFA\\xB1\\xEA...'for column 'VARIABLE_VALUE' at489

热门文章

  1. Python批量处理文件、图片、视频【干货建议收藏】
  2. Samkoon HMI编程电缆驱动
  3. 铁磁材料线性力磁耦合本构关系
  4. 解决:jssip中接通后 PC没有声音但是话机有声音
  5. 跨web浏览器的IC卡读卡器解决方案
  6. 电子科大计算机学院院士,2019信息电子领域69位工程院院士有效候选人,这些高校入选人数多...
  7. 咬文嚼字vue系列(二)
  8. 重磅!国内首个三维重建系列视频课程,涉及SFM、立体匹配、多视图几何、结构光、单目深度估计等(最新版)...
  9. 【SCI】latex 各种技巧说明
  10. c语言韦达定理求方程解,解一元二次方程练习题(韦达定理)