const LngLat = e.latlng;
const lng=LngLat.lng;
const lat=LngLat.lat;
const datasetNames = ["水库数据:水库数据_1_1"];
const attributeFilter =`经度 = ${LngLat.lng} AND 纬度 = ${LngLat.lat}`;
const queryParams = new QueryBySQLParameters({
datasetNames: datasetNames,
queryParameter:
{
name:["水库数据:水库数据_1_1"],
attributeFilter:attributeFilter}
,
returnContent: true,
resultFormat: DataFormat.GeoJSON// 设置返回结果的格式
});
try {
const featureService = new FeatureService(this.iServerDataLayerUrl);
// 调用 getFeaturesBySQL 方法并处理 Promise
featureService.getFeaturesBySQL(queryParams).then((serviceResult) => {
// 检查查询结果是否包含要素
if (serviceResult && serviceResult.result && serviceResult.result.features && serviceResult.result.features.length > 0) {
const features = serviceResult.result.features; // 获取所有结果
// 假设我们只期望返回一个结果,处理第一个要素的所有字段
const feature = features[0];
const content = this.generatePopupContent(feature.properties, e.latlng);
this.popup = L.popup({ maxWidth: 300 })
.setLatLng(e.latlng)
.setContent(content)
.openOn(this.map);
} else {
console.error('未找到要素或查询结果无效');
}
}).catch((error) => {
console.error('查询失败:', error);
});
} catch (error) {
console.error('查询失败:', error);
}
},
请问为什么attributeFilter识别不对,该怎样写?