当前位置: 首页 > news >正文

php网站建设含义网站开发投票代码

php网站建设含义,网站开发投票代码,凡科网网站后台建设,个人可以备案企业网站吗这期主要学习一下鼠标点击事件以及鼠标滚轮事件。 学习目录总结: cesium入门学习一-CSDN博客 cesium入门学习二-CSDN博客 1.鼠标事件 1.1 点击鼠标左键显示经度、纬度、高度 效果: js代码: var viewer new Cesium.Viewer(cesiumConta…

             这期主要学习一下鼠标点击事件以及鼠标滚轮事件。

学习目录总结:

cesium入门学习一-CSDN博客

cesium入门学习二-CSDN博客

1.鼠标事件

1.1 点击鼠标左键显示经度、纬度、高度

效果:

js代码:

var viewer = new Cesium.Viewer('cesiumContainer');// 添加鼠标点击事件
viewer.screenSpaceEventHandler.setInputAction(function (event) {// 获取鼠标点击的位置var clickPosition = viewer.scene.pickPosition(event.position);// 检查是否点击到有效的三维位置if (Cesium.defined(clickPosition)) {// 将笛卡尔坐标转换为经纬度var cartographic = Cesium.Cartographic.fromCartesian(clickPosition);var longitude = Cesium.Math.toDegrees(cartographic.longitude).toFixed(6); // 转换为度并保留小数var latitude = Cesium.Math.toDegrees(cartographic.latitude).toFixed(6);var height = cartographic.height.toFixed(2); // 高度保留两位小数// 在点击点绘制一个红色标记viewer.entities.add({position: clickPosition,point: {pixelSize: 10,color: Cesium.Color.RED,outlineColor: Cesium.Color.BLACK,outlineWidth: 2,},label: {text: `Lon: ${longitude}\nLat: ${latitude}\nAlt: ${height}`,font: '14px sans-serif',style: Cesium.LabelStyle.FILL_AND_OUTLINE,outlineWidth: 2,outlineColor: Cesium.Color.BLACK,verticalOrigin: Cesium.VerticalOrigin.BOTTOM, // 标签位置位于点上方pixelOffset: new Cesium.Cartesian2(0, -20) // 标签偏移量}});}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);

1.2 鼠标左键点击连成轨迹线

效果:

代码:

// 初始化 Cesium Viewer
var viewer = new Cesium.Viewer('cesiumContainer');// 存储轨迹点
var trackPoints = [];// 创建轨迹线实体
var trackLine = viewer.entities.add({polyline: {positions: trackPoints,width: 2,material: Cesium.Color.BLUE}
});// 添加鼠标点击事件
viewer.screenSpaceEventHandler.setInputAction(function (event) {// 获取鼠标点击的位置var clickPosition = viewer.scene.pickPosition(event.position);// 检查是否点击到有效的三维位置if (Cesium.defined(clickPosition)) {// 将笛卡尔坐标转换为经纬度var cartographic = Cesium.Cartographic.fromCartesian(clickPosition);var longitude = Cesium.Math.toDegrees(cartographic.longitude).toFixed(6); // 转换为度并保留小数var latitude = Cesium.Math.toDegrees(cartographic.latitude).toFixed(6);var height = cartographic.height.toFixed(2); // 高度保留两位小数// 在点击点绘制一个红色标记viewer.entities.add({position: clickPosition,point: {pixelSize: 10,color: Cesium.Color.RED,outlineColor: Cesium.Color.BLACK,outlineWidth: 2,},label: {text: `Lon: ${longitude}\nLat: ${latitude}\nAlt: ${height}`,font: '14px sans-serif',style: Cesium.LabelStyle.FILL_AND_OUTLINE,outlineWidth: 2,outlineColor: Cesium.Color.BLACK,verticalOrigin: Cesium.VerticalOrigin.BOTTOM, // 标签位置位于点上方pixelOffset: new Cesium.Cartesian2(0, -20) // 标签偏移量}});// 添加点到轨迹数组trackPoints.push(clickPosition);// 更新轨迹线的路径trackLine.polyline.positions = trackPoints;}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);

1.3  鼠标点击两个点以曲线的方式连接显示

效果:

js代码:

//第13个程序  点击两个点以曲线的方式连接
// 初始化 Cesium Viewer
var viewer = new Cesium.Viewer('cesiumContainer');// 存储点击点的坐标
var points = [];// 添加鼠标点击事件
viewer.screenSpaceEventHandler.setInputAction(function (event) {// 获取鼠标点击的位置var clickPosition = viewer.scene.pickPosition(event.position);// 检查是否点击到有效的三维位置if (Cesium.defined(clickPosition)) {// 在点击点绘制一个红色标记viewer.entities.add({position: clickPosition,point: {pixelSize: 10,color: Cesium.Color.RED,outlineColor: Cesium.Color.BLACK,outlineWidth: 2,}});// 添加点击点到数组points.push(clickPosition);// 如果已有两个点,绘制曲线if (points.length === 2) {drawCurve(points[0], points[1]);points = []; // 清空点列表以准备下一组连接}}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);// 绘制曲线函数
function drawCurve(start, end) {// 插值点数量var numPoints = 50;// 将起点和终点转为 Cartographicvar startCartographic = Cesium.Cartographic.fromCartesian(start);var endCartographic = Cesium.Cartographic.fromCartesian(end);// 插值生成曲线点var curvePoints = [];for (var i = 0; i <= numPoints; i++) {var t = i / numPoints; // 插值参数 [0, 1]var lon = Cesium.Math.lerp(startCartographic.longitude,endCartographic.longitude,t);var lat = Cesium.Math.lerp(startCartographic.latitude,endCartographic.latitude,t);// 使用简单的二次曲线高度效果var height =(1 - t) * startCartographic.height +t * endCartographic.height +Math.sin(Math.PI * t) * 1000; // 高度增加一个波形curvePoints.push(Cesium.Cartesian3.fromRadians(lon, lat, height));}// 添加曲线实体viewer.entities.add({polyline: {positions: curvePoints,width: 2,material: Cesium.Color.YELLOW}});
}

1.4  鼠标点击生成范围圆圈

效果:

代码:

var viewer = new Cesium.Viewer('cesiumContainer');// 添加鼠标点击事件
viewer.screenSpaceEventHandler.setInputAction(function (event) {// 获取鼠标点击的位置var clickPosition = viewer.scene.pickPosition(event.position);// 检查是否点击到有效的三维位置if (Cesium.defined(clickPosition)) {// 在点击点绘制一个红色标记viewer.entities.add({position: clickPosition,point: {pixelSize: 10,color: Cesium.Color.RED,outlineColor: Cesium.Color.BLACK,outlineWidth: 2,}});// 在点击点生成圆形范围createCircle(clickPosition, 1000); // 半径 1000 米}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);// 创建圆形范围函数
function createCircle(center, radius) {// 将中心点转为 Cartographicvar centerCartographic = Cesium.Cartographic.fromCartesian(center);var centerLon = centerCartographic.longitude;var centerLat = centerCartographic.latitude;// 生成圆形的边界点var numPoints = 100; // 圆形边界点数量var positions = [];for (var i = 0; i < numPoints; i++) {var angle = (i / numPoints) * 2 * Math.PI;var offsetLon = centerLon + (radius / 6378137) * Math.cos(angle); // 地球半径近似值 6378137 米var offsetLat = centerLat + (radius / 6378137) * Math.sin(angle);positions.push(Cesium.Cartesian3.fromRadians(offsetLon, offsetLat, centerCartographic.height));}// 添加圆形实体viewer.entities.add({polygon: {hierarchy: positions,material: Cesium.Color.BLUE.withAlpha(0.5),outline: true,outlineColor: Cesium.Color.WHITE,}});
}

http://www.yayakq.cn/news/225406/

相关文章:

  • 洪梅镇网站仿做信誉好的武进网站建设
  • 个人网站用什么域名liunx wordpress 搭建
  • 如何用ip地址做网站电脑浏览器打不开网页是什么原因
  • 计算机网站建设实训总结oppo应用商店下载
  • 怎么增加网站首页权重wordpress博客网站多少钱
  • 海尔网站建设的缺点公关公司是什么意思
  • 企业网站网页开淘宝的店铺网站怎么做
  • 中国免费网站服务器下载地址2016织梦小说网站源码
  • 正规的邯郸网站建设温岭网站开发
  • 网站毕设代做免费php网站系统
  • 做网站需要准备的资料南京城乡住房建设厅网站
  • html做网站步骤网站开发 打标签
  • 北京响应式的网站长春网站设计外包
  • 职教集团网站建设方案wordpress 应用主题
  • 怎么用织梦做自适应网站能访问所有网站的浏览器
  • 17网站一起做网店登录外贸业务员做网站
  • 阿里云自助建站模板厦门 网站建设 公司哪家好
  • 佛山网站设计是建设网站应该注意的地方
  • 网站建设交流qq青岛模板化网站建设
  • 天津网站制作公司哪家好帝国cms 商城网站视频教程
  • 网站建设5000费用预算班级网页设计图片
  • 河北建设执业信息网站wordpress 社区主题
  • 杭州企业网站设计模板学历提升朋友圈文案
  • 网站建设费用能否计入开办费做简图的网站
  • 深圳网站设计师wordpress 无法上传文件
  • 百度站长工具如何使用wordpress 自定义小工具
  • 上海知名网站推广天津武清做淘宝网站
  • 鞍山网站制作小程序网站建设公司找哪里
  • 网站建设中的html页面彩票网站开发需要多少钱
  • 嘉定建设厅网站网站正能量大全