2015-11-17 64 views
0

因此,我使用ArcGIS API(javascript)從功能層中的對象獲取一些信息。這裏的第一步應該是檢測用戶點擊了哪個對象。我正在使用這個查詢。由於某些原因,我似乎無法執行我的查詢。每次執行方法被調用時,控制檯都會回覆「對象不支持屬性或方法'執行'」。代碼的相關部分如下:ArcGIS API - 不支持執行QueryTask

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的一種方法,並且'新的QueryTask'本身完成而沒有任何錯誤。儘管如此,我所定義的要求是:

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

對這裏有什麼可能是錯誤的想法......?

+0

順便說一句,我已經關注此頁面:https://developers.arcgis.com/javascript/jshelp/intro_querytask.html – NeoSyp

回答

0

好了,所以這已經回答了..

我試圖定義與傳統模塊和某些原因,工作querytask。

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

我有我的當前項目,地方傳統和AMD模塊必須混合起來之前,期間經歷了這一點,儘管我所有的需要一直使用AMD的方式定義。

所以是的,這個特定的問題已經解決了(如:我可以繼續),但如果有人可以解釋這兩個模塊如何混淆,那將不勝感激。