ESMap三维地图开发流程

易景地图(ESMap)是一款三维地图在线开发平台,常被用来做智慧城市数据可视化的在线快速开发,广泛应用于室内外定位导航和数字孪生技术场景。下面就简单介绍一下ESMap三维地图的开发流程:

一、场景搭建

进入官网,登录ESMap地图开发工具对房间、模型、路径、楼层、POI等进行绘制

l 房间:自由绘制图形、墙体、打洞,并拖动点编辑,支持CAD地图识别;

l 模型:免费绘制个性化地图,大量三维模型库添加使用,对模型基本属性和纹理贴图进行调整,支持3dmax模型上传等;

l 路径:任意规划导航线、导航点,实现室内外一体化融合定位、跨楼层导航;

l 楼层:具有多楼层编辑、背景编辑、地板编辑三个功能板块,可以对楼梯位置进行打洞编辑;

l POI管理:提供给标准POI图标库,也支持自定义图标上传;

ESMap三维地图开发流程_第1张图片

二、在线开发

使用在线开发平台将地图模型新增到“我的项目”中,并为室内三维地图或城市三维地图添加交互事件。在线开发平台主要包括以下四个功能区:

l 项目列表:对项目进行管理和编辑,提供快速分享、离线下载、历史记录等功能;

l 官方示例:提供室内地图和三维地图的功能示例代码参考,涉及地图的显示、标注、导航、特效、搜索、事件、三维模型等,大量节省开发时间;

l 代码编辑:集成网页JavaScript代码编辑器,不需要用户在自己本地搭建web项目环境,线上完成项目;

l 预览窗口:三维地图实时编译运行预览窗口,可实时预览三维地图场景渲染效果。

ESMap三维地图开发流程_第2张图片

三、数据对接

使用在线开发平台,通过代码编辑的方式直接引入数据对接,与第三方物联网系统或者自己后台系统进行数据传输通信。支持四种数据对接方式Ajax、Jsonp、MQTT、WebSocket。

1、Ajax

$.ajax({

type: "get",

url: "https://www.esmap.cn/dataapi/getdata",

data: { "tid":12333 },

dataType: "json", // 返回的数据类型 json

success: function (d) {

console.log(d.data)

}

});

2、Jsonp

$.ajax({

type: "get",//JSONP 仅支持 GET 请求

url: "https://www.esmap.cn/dataapi/getdata",

data: { "tid":12333 },

dataType: "jsonp", // 返回的数据类型 jsonp

jsonpCallback: "callbackA", // 设置回调函数名 与返回数据的 函数名一致

success: function (d) {

console.log(d.data)

//回调函数名不要重复(即 jsonpCallback 的设置不要重复),否则可能会导致回调函数 undefined

}

});

3、MQTT

// 创建一个mqtt连接

var client = mqtt.connect("wss:http://www.esmap.cn:8088");

client.subscribe("/public/ESMapTEST/data1");

// 连接成功后发送数据

client.on("message", function (topic, payload) {

console.log('data:' + payload);

});

// 关闭连接

client.end();

4、WebSocket

var webSocket = new WebSocket('wss://http://www.esmap.cn/wss');

// 建立 websocket 连接成功触发事件

webSocket.onopen = function () {

console.log("websoket服务器连接成功...");

};

// 接收服务端数据时触发事件

webSocket.onmessage = function (ev) {

console.log(ev.data);

};

webSocket.onclose = function (evt) {

console.log("websoket关闭...");

webSocket = null;

}

// 当连接成功后,可利用 send() 方法向服务器发送数据,例如:

// var dataObj = { 'id': 123456 };

webSocket.send(JSON.stringify(dataObj));

// send 数据类型可以是 字符串 或 二进制对象(Blob 对象、ArrayBuffer 对象)

四、离线部署

在线开发完成项目代码后,可以创建分享链接给他人进行查看,如果要合并到自己本地项目中,则需要进行离线打包下载。下载打包好的项目开发文件夹,解压到任何一种WEB服务器的一个文件夹下,就可以对外进行发布了。

欢迎大家留言讨论。部分图片来源网络,如有疑问请私信联系我。

你可能感兴趣的:(前端数据挖掘机器学习编辑器)