I am trying to create a client side stream layer which has the geometry type as "point". The features are not getting added in the layer. Added my code below. Any idea what am I doing wrong?
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no">
<title>Client-side StreamLayer | Sample | ArcGIS Maps SDK for JavaScript 4.27</title>
<style>
html,
body,
#viewDiv {
height: 100%;
width: 100%;
margin: 0;
padding: 0;
}
</style>
<script>
require([
"esri/Map",
"esri/views/MapView",
"esri/layers/StreamLayer",
"esri/symbols/SimpleMarkerSymbol",
"esri/geometry/geometryEngine",
"esri/geometry/Point",
"esri/geometry/SpatialReference",
"esri/geometry/projection"
], (Map, MapView, StreamLayer, SimpleMarkerSymbol, geometryEngine, Point, SpatialReference, projection) =>
(async () => {
// Create a client-side stream layer by setting its
// required properties and additional desired properties
const layer = new StreamLayer({
// field schemas in the fields array should match the
// feature attributes that will stream to the layer.
// set the objectIdField and trackIdField in the fields
objectIdField: "OBJECTID",
fields: [
{
name: "OBJECTID",
alias: "OBJECTID",
type: "oid",
},
{
name: "TRACKID",
alias: "TrackId",
type: "long",
}
],
// trackIdField is required and the field schema must exist
// in the fields array
timeInfo: {
trackIdField: "TRACKID"
},
updateInterval: 100,
geometryType: "point", // required property
spatialReference: {
wkid: 4326
},
// set unique value renderer based on the status field
renderer: {
type: "simple",
symbol: {
type: "simple-marker", // autocasts as new SimpleMarkerSymbol()
color: [226, 119, 40],
outline: {
// autocasts as new SimpleLineSymbol()
color: [255, 255, 255],
width: 2
}
}
}
});
const map = new Map({
basemap: "gray-vector",
layers: [layer]
});
const view = new MapView({
container: "viewDiv",
map,
zoom: 2,
center: [-118.4, 34.0573]
});
view.whenLayerView(layer).then((layerView) => {
layer.sendMessageToClient({
type: "features",
features: [
{
attributes: {
TRACKID: 1,
OBJECTID: 1
},
geometry: {
type: "point",
latitude: -101,
longitude: 40,
spatialReference: {
wkid: 4326
}
}
}
]
});
});
})());
</script>
</head>
<body>
<div id="viewDiv"></div>
</body>
</html>