Hello,
I am following the logic used to add large sets of graphics to the feature layer using an iterator and the apply edits function based on this sample
https://developers.arcgis.com/javascript/latest/sample-code/layers-featurelayer-large-collection/
It seems to work with large sets of data but when I try to add like 30 or 100 graphics using this method, only about 4 or so get plotted onto the map. I can confirm that its not a data issue of missing lat long coordinates. When I log the feature lengths that are added, they always add up correctly to the number of features that are supposed to display. They just never pop on map? Any help would be appreciated. Here is my code for adding graphics
let result = iterator.next();
while (!result.done) {
const start = performance.now();
const features = [];
// consume for batchTime milliseconds.
while (performance.now() - start < batchTime && !result.done) {
features.push(result.value);
result = iterator.next();
console.log(features);
}
if (features.length) {
console.log(`uploading ${features.length} features`);
await vbLayer.applyEdits({
addFeatures: features,
});
}
}
I also will attach the iterator im using
* vbSitesGraphicIterator(allSites: Site[]){
for(let i = 0; i < allSites.length; i++){
let site = allSites[i];
let siteAttributes = {
// OBJECTID: objectId++,
Number: site.newSiteNo,
Name: site.siteName,
Address: site.addressLine1,
City: site.city,
State: site.stateProvince,
ZipCode: site.postalCode,
Category: site.siteCategory,
Classification: site.legalStatus,
Type: site.towerType,
AGL: site.agl,
AMSL: site.amsl,
Latitude: site.latitude,
Longitude: site.longitude
}
yield new Graphic({
geometry: new Point({latitude: site.latitude, longitude: site.longitude}),
symbol: new PictureMarkerSymbol({
width: 10,
height:10,
url: environment.vbPin
}),
attributes: siteAttributes,
popupTemplate: {
title: "{Number}",
content: [
{
type: "fields",
fieldInfos: [
{
fieldName: "Name"
},
{
fieldName: "Address"
},
{
fieldName: "City"
},
{
fieldName: "State"
},
{
fieldName: "ZipCode"
},
{
fieldName: "Category"
},
{
fieldName: "Classification"
},
{
fieldName: "TenantLegalName"
},
{
fieldName: "LeaseNo"
},
{
fieldName: "IsAnchorSite"
},
{
fieldName: "NoAvailableMeters"
},
{
fieldName: "IsOurMeter"
},
{
fieldName: "Type"
},
{
fieldName: "AGL"
},
{
fieldName: "AMSL"
},
{
fieldName: "Latitude"
},
{
fieldName: "Longitude"
},
]
}
]}
});
}
}