ArcGIS开发

打点

  1. 参考:使用esri-loader在arcGIS地图标点
  2. 图层数据查询:

涉及到两个内容:

  1. QueryTask : 查询的路径
  2. Query: 查询的参数
if (this.highLightLayer) {
        this.highLightLayer.graphics.removeAll();
    }
      let query = new this.gisMap.Query({
        where: "Name = '" + param.name + "'",
        returnGeometry: true,
        outFields: ["*"],
      });
      let queryTask = new this.gisMap.QueryTask({
        url: param.dataUrl,
      });
      let _this = this;
      queryTask.execute(query).then((res) => {
        if (res.features) {
          const symbol = {
            type: "simple-line",
            color: [0, 235, 200, 0.8],
            width: 8,
          };
          let gra = new _this.gisMap.Graphic({
            geometry: res.features[0].geometry,
            symbol: symbol,
            spatialReference: _this.view.spatialReference,
            attributes: {
              type: "BD",
              obj: res.features[0].attributes,
            },
          });
          _this.highLightLayer.graphics.add(gra);
          _this.view.goTo({
            target: gra,
            zoom: 13,
          });
        }
      });

地图坐标转化为屏幕位置

  1. mapView.toScreen(point);
let point = new this.gisMap.Point({
          latitude: popupInfo.latitude || popupInfo.LTTD,
          longitude: popupInfo.longitude || popupInfo.LGTD,
        }); 
		// x 对应 left , y 对应 top 
        let { x, y } = this.gisView.toScreen(point);

posted @ 2023-01-13 17:11  拉布拉多~  阅读(24)  评论(0编辑  收藏  举报