2016-08-18 58 views
0

我正在使用ArcGIS JavaScript v3.17來執行空間查詢以查明有多少線要素與多邊形圖層相交的工具。該過程適用於1個多邊形圖層,但不適用於其他3個多邊形圖層(導致錯誤)。我得到的錯誤是:「SyntaxError:意外的令牌<」,當查詢運行時,這並沒有告訴我什麼是錯誤的。請參閱以下示例代碼。有沒有其他人看過這個?任何建議或幫助將不勝感激。ArcGIS JavaScript v3.17 - 查詢多少線要素相交多邊形要素的空間查詢

function submit() { 
    $('#submit').on('click', function() { 
     query; 
    }); 
} 
function query() { 
    var polys = map.getLayer('lyr1'); 
    var lines = map.getLayer('lyr2'); 
    var queryTask = new QueryTask(lines.url); 
    var query = new Query(); 
    query.geometry = polys.graphics[0].geometry; 
    query.spatialRelationship = esri.tasks.Query.SPATIAL_REL_INTERSECTS; 
    query.outFields = ['*']; 
    queryTask.on("complete", queryTaskExecuteCompleteHandler); 
    queryTask.on("error", queryTaskErrorHandler); 
    queryTask.execute(query); 
} 
function queryTaskExecuteCompleteHandler(queryResults) { 
    console.log("complete", queryResults.featureSet.features.length); 
} 
function queryTaskErrorHandler(queryError){ 
    console.log("error", queryError.error); 
} 
+0

檢查正在傳遞給查詢的網址。錯誤消息說有一個'<'字符傳遞給查詢。 –

+0

url應該是沒有'<'的字符 – EvanL

+0

當服務出於某種原因失敗並返回一個HTML響應時,你會得到上面提到的錯誤,並且JSON解析器試圖解析並拋出異常,因爲它不會能夠解析HTML標籤。希望這個信息會很有用。 –

回答

1

我已經去不同的途徑來解決我的問題,我現在使用geometryEngine相交過程中找出一個線相交的多邊形。這涉及一個for循環,它遍歷每一行圖形的列表>運行交集過程,將多邊形要素與線圖形幾何體進行比較>如果爲true,則將id推入數組中>將使用該數組獲取總數,線特徵上的定義表達式。