1

我已经对我的要素图层进行了查询并得到了结果。唯一的问题是生成的对象不包含 LAT 和 LNG 属性。这是问题所在:

centerAndZoomOnAsset(assetId: string) {
let query = this.pipeFL.createQuery();
query.where = `AssetId = '${assetId}'`;
query.outFields = ['*'];
this.pipeFL.queryFeatures(query).then((result: esri.FeatureSet) => {
  debugger;
  const foundFeatureGraphic: esri.Graphic = result.features[0];
  if (foundFeatureGraphic) {
    const center = foundFeatureGraphic.geometry.extent.center.clone();

在这一点上,我有一个中心值,它有 x,y 坐标,但是,我没有:center.latitude 或 center.longitude ......我不明白为什么它没有它。当我对点击进行命中测试时,它同时包含 lat 和 lng,但是当我从命中测试之外查询时,它不包含我的 lat 和 lng。关于为什么会发生这种情况的任何想法?

4

1 回答 1

0

您需要将returnGeometry参数设置为 true 才能从查询中获取空间数据。在此处查看 API

尝试使用这个:

centerAndZoomOnAsset(assetId: string) {
let query = this.pipeFL.createQuery();
query.where = `AssetId = '${assetId}'`;
query.returnGeometry = true;
query.outFields = ['*'];
this.pipeFL.queryFeatures(query).then((result: esri.FeatureSet) => {
  debugger;
  const foundFeatureGraphic: esri.Graphic = result.features[0];
  if (foundFeatureGraphic) {
    const center = foundFeatureGraphic.geometry.extent.center.clone();

于 2019-07-11T19:19:08.623 回答