随笔 - 833  文章 - 1  评论 - 106  阅读 - 200万

cesium点击面高亮事件[转]

cesium点击面高亮事件

主要功能:比如你加载了json、geojson或者topojson的数据。加载出来后,分为很多个面,现在要实现点击一个面,这个面变颜色;再点击另一个面,另一个面高亮,之前的面复原。(有不懂得,请加相关学习群:854184700)

下面上代码:

复制代码
 1     function hightlightLine() {
 2         var temp = new Array();
 3         function linehHghtlight(nameId) {
 4             var exists = temp.indexOf(nameId);
 5             if (exists <= -1) {
 6                 temp.push(nameId);
 7             } else {
 8                 temp.splice(exists, 1);  //删除对应的nameID
 9             }
10         }
11         viewer.screenSpaceEventHandler.setInputAction(function onLeftClick(movement) {
12             var pickedFeature = viewer.scene.pick(movement.position);
13 
14             //判断之前是否有高亮面存在
15             if (highlightFace) {
16                 highlightFace.material = highlightFace.material0;
17             }
18             pickedFeature.id.polygon.material0 = pickedFeature.id.polygon.material;
19             pickedFeature.id.polygon.material = Cesium.Color.WHITE;
20             highlightFace = pickedFeature.id.polygon;
21             showDivPositionOld = pickedFeature.id.properties;
22 
23             if (typeof (pickedFeature) != "undefined")  //鼠标是否点到面上
24                 var id = pickedFeature.id;
25             linehHghtlight(id);
26         }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
27     }
复制代码
posted on   3D入魔  阅读(702)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2019-11-29 Cesium中导入三维模型方法(dae到glft/bgltf)[转]
2009-11-29 国产“google earth”制作依靠卫星影像图下的“虚拟地球仪” 时间:2009-05-13 19:38来源:互联网
2009-11-29 Google Earth的卫星影像
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示