进行要素图层查询后,arcGIS javascript没多久

时间:2018-10-24 21:01:09

标签: esri arcgis-js-api esri-maps

我在要素图层上进行了查询并得到了结果。唯一的问题是,生成的对象不包含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();

这时我有一个center值,它是x,y坐标,但是我没有:center.latitude或center.longitude ... 我不明白为什么它没有它。当我对点击进行点击测试时,它同时包含lat和lng,但是当我从点击测试之外进行查询时,它不包含我的lat和lng。 为什么会这样?

1 个答案:

答案 0 :(得分:0)

您需要将returnGeometry参数设置为true才能从查询中获取空间数据。 See the API here

尝试使用此:

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();