function getApproximateZoomLevel() {
var cameraHeight = state.mapInstance.viewer.camera.positionCartographic.height;
var approximateZoomLevel = Math.log2(591657550.500000 / cameraHeight);
console.log('Approximate Zoom Level: ', approximateZoomLevel);
return approximateZoomLevel
}
state.mapInstance.viewer.screenSpaceEventHandler.setInputAction(function onLeftClick(movement) {
var cartesian = state.mapInstance.viewer.camera.pickEllipsoid(movement.position, state.mapInstance.viewer.scene.globe.ellipsoid);
if (cartesian) {
var cartographic = Cartographic.fromCartesian(cartesian);
var longitude = Math.toDegrees(cartographic.longitude);
var latitude = Math.toDegrees(cartographic.latitude);
var height = cartographic.height;
console.log('Clicked XYZ: ', cartesian);
console.log('Clicked Longitude: ', longitude);
console.log('Clicked Latitude: ', latitude);
console.log('Clicked Height: ', height);
const info = state.pbfProvider.pickFeatures(cartesian?.x, cartesian?.y, getApproximateZoomLevel(), longitude, latitude);
console.log(info)
}
}, ScreenSpaceEventType.LEFT_CLICK);
但是这个方法总是返回Promise rejected,我想请问的是,我调用该方法传入的参数是否正确?对于这个报错我现在找不到问题的所在,请您帮我看下应该怎么处理。
我调用pickFeatures()想获取鼠标点击的元素的矢量信息,用于后期的操作,比如更换颜色。从我阅读源码猜测是用这个方法。
用cesium的api获取需取该方法需要的参数,如下:
但是这个方法总是返回Promise rejected,我想请问的是,我调用该方法传入的参数是否正确?对于这个报错我现在找不到问题的所在,请您帮我看下应该怎么处理。