2012-07-21 25 views
1

我想要返回此對象的所有屬性名稱和值Javascript地理信息系統 - 通過feature.attributes循環

- 此功能在執行查詢後調用,並且功能包含結果。
-feature.attributes返回包含所有屬性名稱的「Object」。
-featureLayer [counter] .fields [i] .name工作正常

我是在假設feature.attributes是一個數組。有沒有人有關於如何從此功能對象返回所有屬性值的建議?

(計數器,地圖,featureLayer和queryContent全局聲明)提前

function showFeature(feature,evt) { 
    //set symbol 
    feature.setSymbol(symbol); 

    //construct infowindow title and content 
    var attr = feature.attributes; 
    var title = "Query"; 
    queryContent = queryContent + "<div>" + "Layer: " + featureLayer[counter].name + "<br />"; 

    for(i=0;i<featureLayer[counter].fields.length;i++){ 
     queryContent = queryContent + featureLayer[counter].fields[i].name + ": " + attr[i] + "<br />" + "<br />" + "</div>"; 
    } 

    counter++; 
    map.infoWindow.setTitle(title); 
    map.infoWindow.setContent(queryContent); 

    (evt) ? map.infoWindow.show(evt.screenPoint,map.getInfoWindowAnchor(evt.screenPoint)) : null; 
} 

感謝。

回答

0

我發現了一個與arcgis包非常相配的替代方案。

相反.attr的,你可以使用[ATTR]

與替換for循環:

for(i=0;i<featureLayer[counter].fields.length;i++){ 
    queryContent = queryContent + featureLayer[counter].fields[i].name + ": " + feature.attributes[featureLayer[counter].fields[i].name] + "<br />" + "</div>"; 
}