Я работаю над картой, которая использует FeatureLayer.Mode_ONDEMAND. Чтобы увидеть определенный слой, я передаю идентификатор проекта с помощью функции featureLayer.setDefinitionExpression. Там, где такой слой существует, я его вижу. Я хочу знать, как определить, нет ли слоя. Я хочу напечатать предупреждение для зрителя вместо того, чтобы показывать только пустую карту. Вот мой код:ESRI javascript featureLayer.graphics
function init() {
map = new esri.Map("mapDiv", {
basemap: "topo",
zoom: 9
});
var featureLayer = new esri.layers.FeatureLayer("http://services.arcgis.com/v01g34asdwfAi/arcgis/rest/services/Projects/FeatureServer/0",{
mode: esri.layers.FeatureLayer.MODE_ONDEMAND,
outFields: ["*"],
opacity: 1
});
featureLayer.setDefinitionExpression("SrvyDescID=\'' . htmlspecialchars($ProjectID) . '\'");
console.log(featureLayer.graphics);
console.log(featureLayer.graphics[0]);
map.addLayer(featureLayer);
}
Что я узнал, когда проект действителен, функция.graphics вернет массив. Но я не могу рассматривать его как массив. Например:
console.log (featureLayer.graphics) возвращает объект массива , но console.log (featureLayer.graphics [0]) возвращает «undefined».
особенностьLayer.graphic.length тоже не работает. Как использовать этот объект массива, чтобы сообщить мне, что слой отображается на карте?
Прилагается скриншот журнала консоли. Спасибо за вашу помощь.