今天某客户提出要实现在地球上经纬线显示和经纬度标注,看了官方资料,没有相关api,网上也看了好多帖子,基本都是实现的贴图划线(话说官方本来就有不同等级的贴图网格 根本不需要你来画),只有在github上找了一个cesimu-Graticule.js,经纬度是画出来了,话说你有那么明显的bug放出来干啥????

what???说白了,没得抄~~ o(╯□╰)o

所以自力更生吧,思路很简单,画的很low,大概效果是这样的

废话少说,直接上码:

###绘制经度线以及经度标注

latLongLine.lang = [];

//经度

let langS = [];

//每隔20° 画一条线

for (let lang= -180; lang <= 180; lang += 20) {

let text = "西经";

if (lang< 0) {

text = "东经";

} else if (lang=== 0) {

text = "本初子午线";

}

text += lang===0?"":"" + lang+ "°";

//绘制经度

latLongLine.lang.push(viewerInstance[this.id].entities.add({

position: Cesium.Cartesian3.fromDegrees(lang,0),

polyline: {

positions: Cesium.Cartesian3.fromDegreesArray([lang, -90, lang, 0, lang, 90]),//为了绕一圈地球中间加了一个赤道点

width: 1.0,

material: Cesium.Color.fromBytes(66, 147, 254, 255 * 0.8),//好看的颜色

} ,label: {//标注经度

text: text,

verticalOrigin:Cesium.VerticalOrigin.TOP,

font: '16px Helvetica',

fillColor: Cesium.Color.GOLD,

style: Cesium.LabelStyle.FILL_AND_OUTLINE,

outlineWidth: 1,

outlineColor: Cesium.Color.BLACK,

pixelOffset: new Cesium.Cartesian3(0, -50, -2000)//像素为单位的位置偏移实际上笛卡尔3的z值无效,因为他只支持笛卡尔2,但。。。毕竟逼格高嘛。。

},

}));

}

//因为这里都是用折线实现,为看起来像个圆 所以要先拿到比较密的经度点

for (let lang= -180; lang<= 180; lang+= 5) {

langS.push(lang);

}

//每隔10读绘制一条纬度线和纬度标注

for (let lat= -80; lat<= 80; lat+= 10) {

let text = "北纬";

if (lat< 0) {

text = "南纬";

} else if (lat=== 0) {

text = "赤道";

}

text += "" + lat+ "°";

latLongLine.lat.push(viewerInstance[this.id].entities.add({

position: Cesium.Cartesian3.fromDegrees(0,lat),//这个主要是为了让文字可以显示到正确的位置

polyline: {

positions: Cesium.Cartesian3.fromDegreesArray(longS.map(long=> {

return [long,lat].join(",")

}).join(",").split(",").map(item => Number(item))),//这一堆语法糖就是因为懒 得写for循环转换其实就是把经度和纬度拼为二维数组,然后在转换为字符串分割,然后在转换为一维数组,然后转数组,十八般武艺唯快不破

width: 1.0,

material: Cesium.Color.BLUE,

},

label: {//标注

text: text,

font: '16px Helvetica' ,

fillColor: Cesium.Color.GOLD,

style: Cesium.LabelStyle.FILL_AND_OUTLINE,

outlineWidth: 1,

outlineColor: Cesium.Color.BLACK,

pixelOffset: new Cesium.Cartesian3(0, -5, -2000)

},

})

)

}

好了 ,基本思路就是这样,你想怎么看你就这么看,站在天狼星,你也看得到经纬线(吹牛逼)

cesium绘制网格_cesium 实现经纬线绘制和经纬度标注相关推荐

  1. 【MATLAB】三维图形绘制 ( 绘制网格 + 等高线 | meshc 函数 | 绘制平面 + 等高线 | surfc 函数 )

    文章目录 一.绘制网格 + 等高线 1.meshc 函数 2.代码示例 二.绘制平面 + 等高线 1.surfc 函数 2.代码示例 一.绘制网格 + 等高线 1.meshc 函数 meshc 函数参 ...

  2. cesium绘制网格_Cesium学习笔记-工具篇37-风场绘制

    这两天重新接触到流场,于是研究下,在大牛们的轮子上也算实现了效果: 1二维 2三维 主要参考以下三篇文章: <WebGL风向图>给出制作风向图通常步骤: 1. 在屏幕上生成一系列随机粒子位 ...

  3. [Direct2D开发] 绘制网格

    [Direct2D开发] 绘制网格 原文: [Direct2D开发] 绘制网格 转载请注明出处:http://www.cnblogs.com/Ray1024 一.引言 最近在使用Direct2D进行绘 ...

  4. Cesium解决方案 绘制网格 绘制经纬度栅格

    遇到的客户需求 在Cesium的地图上绘制可随缩放变化的网格以及固定的经纬度栅格 需求1:绘制网格 附上代码 var GridImagery = new Cesium.GridImageryProvi ...

  5. cesium实现绘制网格效果

    示例效果: 代码演示: //! 网格位置 // var modelMatrixWhereTo = Cesium.Transforms.eastNorthUpToFixedFrame( // Cesiu ...

  6. 【MATLAB】三维图形绘制 ( 三维平面图 | 二维网格 | meshgrid 函数 | 绘制网格 | mesh 函授 | 绘制平面 | surf 函数 | 绘制等高线 | contour 函数 )

    文章目录 一.二维网格 1.线图 与 平面图 2.meshgrid 函数生成二维网格 二.绘制网格 1.mesh 函数绘制网格 2.代码示例 三.绘制平面 1.surf 函数绘制平面 2.代码示例 四 ...

  7. 基于 matplotlib 的抽象网格和能量曲线绘制程序

    前言 最近在写文章需要绘制一些一维的能量曲线(energy profile)和抽象的二维和三维的网格来表示晶体用来描述自己的算法,于是自己在之前的脚本的基础上进行了整改写成了只提供接口的Python库 ...

  8. html canvas绘制网格,canvas(七)绘制网格和坐标轴

    ###1.绘制网格 var canvas = document.querySelector("canvas") var ctx = canvas.getContext(" ...

  9. Opengl绘制网格模型

    一.概述 高级计算机三维建模的课后实习代码托管及重点部分备注.这是第一次实习,题目是读取.ply文件内容,并利用opengl绘制出网格.目前为止,老师布置的4次实习作业都比较简单,这里只是做简要记录, ...

最新文章

  1. 认识HTML5的WebSocket 认识HTML5的WebSocket
  2. Android中的各种Adapter
  3. Java动态代理代码案例:使用cglib实现对无接口的类进行动态代理
  4. 10.15 wget:命令行下载工具
  5. (转)C# WebApi 身份认证解决方案:Basic基础认证
  6. 谷歌街景新功能——帮警方抓毒贩
  7. Java基础篇(05):函数式编程概念和应用
  8. ASP.NET 自定义控件从入门到精通3补充
  9. JavaScript的this关键字的调用位置和绑定
  10. windows复制文件到 vmware centos虚拟机问题
  11. matlab设计一个简单图像直方图均衡的GUI程序
  12. nginx 反向代理机制解决前端跨域问题
  13. 微信小程序发送模板消息通知
  14. mac安装win7之后鼠标失灵_苹果电脑安装win7时键盘鼠标无响应3种解决方案
  15. html自我介绍5页模板,关于个人自我介绍模板6篇
  16. python程序设计基础与应用课后答案_智慧职教Python程序设计基础作业课后答案
  17. qtcpsocket断开_关于使用QTcpSocket的一些总结
  18. android q mix3,Android Q+5G 小米MIX3现场播放8K视频:画面流畅
  19. 企业自建私有云-openstack-介绍
  20. PHP分片上传文件到又拍云对象存储

热门文章

  1. android 回收站设计,【教程】Android系统建个回收站帮你找回误删文件
  2. 外盘期货正大国际:如何控制期货交易的风险
  3. 自动使用优化大师-2
  4. [结论] LibreOJ #520. 「LibreOJ β Round #3」绯色 IOI(开端)
  5. 【动画教程】真封神南极服务端2.52架设第三集
  6. Mandriva下载
  7. 树莓派配置局域网打印服务器(HP1018)
  8. C语言初学者复刻经典扫雷小游戏(图形界面,非黑白窗口)(含源码)
  9. 视频号直播的常见问题QA | 第1期
  10. dem数据下载后怎么使用?查看等高线、地形渲染、地形裁剪教程