【问题标题】:ArcGIS API - Execute QueryTask unsupportedArcGIS API - 不支持执行 QueryTask
【发布时间】:2016-02-19 09:39:21
【问题描述】:

所以,我使用 ArcGIS API (javascript) 来从要素图层中的对象获取一些信息。这里的第一步应该是检测用户点击了哪个对象。我正在为此使用查询。但由于某种原因,我似乎无法执行我的查询。每次调用执行方法时,控制台都会回复“对象不支持属性或方法‘执行’”。相关部分代码如下:

thema_4_Verblijf = new FeatureLayer("https://services.arcgisonline.nl/arcgis/rest/services/Basisregistraties/BAG/MapServer/4");
        map_Thema_4.addLayer(thema_4_Verblijf);
        thema_4_Verblijf.on("click", thema_4_Verblijf_Click);
        function thema_4_Verblijf_Click(evt){
            var query = new Query();
            query.returnGeometry = true;
            query.outFields = ["*"];
            query.geometry = evt.mapPoint;
            var queryTask = new QueryTask("https://services.arcgisonline.nl/arcgis/rest/services/Basisregistraties/BAG/MapServer/4");
            queryTask.execute(query,showResults);
        };

        function showResults(featureSet){
            //will show results
        }

起初,我认为这与我在脚本开始时没有正确定义需求有关。这是不可能的,因为 execute 是 QueryTask 的一种方法,并且“new QueryTask”本身完成时没有任何错误。尽管如此,我定义的要求是:

require([...
    "esri/geometry",
    "esri/tasks/query",
    "esri/tasks/QueryTask",
    "esri/tasks/FeatureSet"
    ],
    function startMap(
    ...
    Query,
    QueryTask,
    ...

对这里可能出现的问题有什么想法吗...?

【问题讨论】:

标签: javascript execute esri arcgis-js-api


【解决方案1】:

好的,所以这已经回答了..

我尝试使用遗留模块定义 querytask 并且由于某种原因有效。

var queryTask = new esri.tasks.QueryTask(...);

我之前在当前项目中遇到过这种情况,即使我的所有需求都已使用 AMD 方式定义,也必须将旧模块和 AMD 模块混合在一起。

所以是的,这个特定的问题已经解决(如:我可以继续),但如果有人能解释这两个模块是如何混淆的,那将不胜感激。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 2019-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    • 2012-06-16
    相关资源
    最近更新 更多