Skip to content
This repository was archived by the owner on Nov 21, 2024. It is now read-only.

我尝试通过pickFeatures方法获取矢量元素信息,但是该方法返回的Promise状态总是rejected,我找不到问题的所在,求助。 #27

@wh1246935943

Description

@wh1246935943

我调用pickFeatures()想获取鼠标点击的元素的矢量信息,用于后期的操作,比如更换颜色。从我阅读源码猜测是用这个方法。
用cesium的api获取需取该方法需要的参数,如下:

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,我想请问的是,我调用该方法传入的参数是否正确?对于这个报错我现在找不到问题的所在,请您帮我看下应该怎么处理。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions