cesium点击图斑,选中效果

//点击事件
MapServeHandle() {
	let _this = this;	
	
	let handler = new Cesium.ScreenSpaceEventHandler(cViewer.scene.canvas);
	handler.setInputAction(async (event) => {
		let pickRay = cViewer.camera.getPickRay(event.position);
		let featuresPromise = await cViewer.imageryLayers.pickImageryLayerFeatures(pickRay, cViewer.scene);

		let data = featuresPromise[0].data.geometry;
		_this.selectSpot(data,'patternSpot');
		
	}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
},

// 选中事件
selectSpot(json, layerName) {		
		if (layers[layerName]) {		//var layers = {},设置的全局
			cViewer.dataSources.remove(layers[layerName]);
			layers[layerName] = null;
		}

		layers[layerName] = new Cesium.GeoJsonDataSource(layerName);

		layers[layerName].load(json).then(function(dataSource) {	
			cViewer.dataSources.add(dataSource);
			let entities = dataSource.entities.values;

			entities.forEach((item, index) => {
				let entity = entities[index];
				entity.polygon.outlineColor = Cesium.Color.RED;
				entity.polygon.material = Cesium.Color.fromCssColorString("#33e97676");
			});
		});
	},
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Cesium获取WMS图斑的经纬度,可以使用以下方法: 方法1:使用Cesium的内置函数 可以使用Cesium.Cartographic.fromCartesian方法将世界坐标(笛卡尔坐标)转换为经纬度坐标。具体代码如下: ```javascript let cartographic = Cesium.Cartographic.fromCartesian(cartesian); let longitudeString = Cesium.Math.toDegrees(cartographic.longitude); let latitudeString = Cesium.Math.toDegrees(cartographic.latitude); let height = cartographic.height; console.log("经度: " + longitudeString); console.log("纬度: " + latitudeString); console.log("高度: " + height); ``` 方法2:使用Cesium的投影函数 可以使用Cesium.WebMercatorProjection类来进行坐标转换。具体代码如下: ```javascript var WMP = new Cesium.WebMercatorProjection(); var cartographic = WMP.unproject(cartesian); var longitudeString = Cesium.Math.toDegrees(cartographic.longitude); var latitudeString = Cesium.Math.toDegrees(cartographic.latitude); var height = cartographic.height; console.log("经度: " + longitudeString); console.log("纬度: " + latitudeString); console.log("高度: " + height); ``` 这两种方法都可以将世界坐标转换为经纬度坐标,并且可以获取到相应的高度信息。根据你的需求,可以选择使用其一种方法来获取WMS图斑的经纬度信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Cesium坐标拾取及坐标转换](https://blog.csdn.net/liyan_gis/article/details/127565572)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值