ArcGIS开发
打点
- 参考:使用esri-loader在arcGIS地图标点
- 图层数据查询:
涉及到两个内容:
- QueryTask : 查询的路径
- 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,
});
}
});
地图坐标转化为屏幕位置
- 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);