逸图(ESMap)是3D地图在线开发平台,常用于智慧城市数据可视化在线快速开发,广泛应用于室内外定位导航和数字孪生技术场景。下面简单介绍一下ESMap3D地图的开发流程:一、场景搭建进入官网,登录ESMap地图开发工具,绘制房间、模型、路径、楼层、POI等l房间:自由绘制图形、墙壁、孔洞,并拖点编辑,支持CAD图识别;l模型:免费绘制个性化贴图,添加并使用大量3D模型库,调整模型的基本属性和纹理贴图,支持3dmax模型上传等;l路径:任意规划导航线、导航点,实现室内外一体化定位和跨楼层导航;l楼层:具有多楼层编辑、后台编辑、楼层编辑三个功能区,可编辑楼梯的位置;lPOI管理:提供了标准的POI图标库,也支持上传自定义图标;2.在线开发使用在线开发平台将地图模型添加到“我的项目”中,为室内3D地图或城市3D地图添加交互事件。在线开发平台主要包括以下四个功能区:l项目列表:管理和编辑项目,提供快速共享、离线下载、历史记录等功能;l官方示例:提供室内地图、3D地图功能示例代码参考,涉及地图显示、标注、导航、特效、搜索、事件、3D模型等,节省大量开发时间;l代码编辑:集成网页JavaScript代码编辑器,无需用户在本地搭建web项目环境,在线完成项目;l预览窗口:3D地图实时编译运行预览窗口,可以实时预览3D地图的场景渲染效果。3、数据对接使用在线开发平台,通过代码编辑直接引入数据对接,与第三方物联网系统或自己的后台系统进行数据传输和通信。支持四种数据连接方式Ajax、Jsonp、MQTT、WebSocket。1.Ajax$.ajax({type:"get",url:"https://www.esmap.cn/dataapi/getdata",data:{"tid":12333},dataType:"json",//返回数据类型jsonsuccess: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",//返回数据类型jsonpjsonpCallback:"callbackA",//设置回调函数名和返回数据函数名一致success:function(d){console.log(d.data)//名称回调函数不能重复(即jsonpCallback的设置不能重复),否则回调函数可能未定义}});3.MQTT//创建mqtt连接varclient=mqtt.connect("wss:http://www.esmap.cn:8088");client.subscribe("/public/ESMapTEST/data1");//发送dataclientaftersuccessfulconnection.on("message",function(topic,payload){console.log('data:'+payload);});//关闭连接client.end();4.WebSocketvarwebSocket=newWebSocket('wss://http://www.esmap.cn/wss');//建立websocket连接成功并触发事件webSocket.onopen=function(){console.log("Websocket服务器连接成功...");};//从服务器接收数据时触发事件webSocket.onmessage=function(ev){console.log(ev.data);};webSocket.onclose=function(evt){console.log("websoketclosed...");webSocket=null;}//连接成功后,可以使用send()方法向服务器发送数据,例如://vardataObj={'id':123456};webSocket.send(JSON.stringify(dataObj));//发送数据类型可以是字符串或二进制对象(Blob对象,ArrayBuffer对象)4.离线部署和在线开发完成项目代码后,可以创建分享链接供他人查看。如果要合并到自己的本地项目中,需要离线下载。下载打包后的项目开发文件夹,解压到任意一种WEB服务器的文件夹中,即可对外进行。宣布。欢迎大家留言讨论。部分图片来源于网络,如有疑问请私信。
