unturew(在承诺中)typeerror:layerview.createquery不是一个功能
Layer.fromArcGISServerUrl("").then(function (layer) {
map.add(layer);
view.popup.autoOpenEnabled = false; // <- disable view popup auto open
view.on("click", function (event) { // <- listen to view click event
if (event.button === 0) { // <- check that was left button or touch
view.whenLayerView(layer).then(function (layerView) {
const query = layerView.layer.createQuery();
query.geometry = view.toMap(event);
query.distance = 1;
query.units = "meters";
layerView.queryFeatures(query).then(
response => {
document.getElementById("infomap").innerText = JSON.stringify(response.features);
console.error(response);
},
err => {
document.getElementById("infomap").innerText = "Query returns an error, check console to see what happen!.";
console.error(err);
}
);
});
}
});
});
我想在React中使用ArcGis获取有关弹出式UP的信息,并且我遇到了一个错误,即创建不是函数。我不明白为什么我有这个错误。请帮助
Layer.fromArcGISServerUrl("").then(function (layer) {
map.add(layer);
view.popup.autoOpenEnabled = false; // <- disable view popup auto open
view.on("click", function (event) { // <- listen to view click event
if (event.button === 0) { // <- check that was left button or touch
view.whenLayerView(layer).then(function (layerView) {
const query = layerView.layer.createQuery();
query.geometry = view.toMap(event);
query.distance = 1;
query.units = "meters";
layerView.queryFeatures(query).then(
response => {
document.getElementById("infomap").innerText = JSON.stringify(response.features);
console.error(response);
},
err => {
document.getElementById("infomap").innerText = "Query returns an error, check console to see what happen!.";
console.error(err);
}
);
});
}
});
});
I want to get info about pop up's using ArcGis in React and I get the mistake that createQuery is not a function. I dont understand why I have this err. Help please
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
来自 documentation ,我知道,我知道<,我知道<,我知道<代码>层是一个基类,并且有多种
层
扩展该类。createquery
方法不在基类上,因此您可能在createquery
上呼叫在没有实现该方法的图层类型上。layerview.layer.constructor.name
给您什么?From the documentation, I understand that
layer
is a base class, and there are multiple types oflayers
that extend that class. ThecreateQuery
method is not on the base class so it might be that you are callingcreateQuery
on layer type that does not have that method implemented.What does
layerView.layer.constructor.name
give you in the console?