Solved! Go to Solution.
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:esri="http://www.esri.com/2008/ags">
<s:layout>
<s:VerticalLayout paddingBottom="10"
paddingLeft="10"
paddingRight="10"
paddingTop="10" />
</s:layout>
<fx:Script>
<![CDATA[
import com.esri.ags.FeatureSet;
import com.esri.ags.Graphic;
import com.esri.ags.SpatialReference;
import com.esri.ags.geometry.Extent;
import com.esri.ags.geometry.MapPoint;
import com.esri.ags.layers.FeatureLayer;
import com.esri.ags.layers.supportClasses.FeatureCollection;
import com.esri.ags.layers.supportClasses.LayerDetails;
import com.esri.ags.symbols.SimpleMarkerSymbol;
private var spatialReference:SpatialReference = new SpatialReference(102100); // the same as in base(tiled) layer
private var initialExtent:Extent;
private function addFeatureLayer(features:Array):void
{
var featureSet:FeatureSet = new FeatureSet(features);
var layerDetails:LayerDetails = new LayerDetails();
var featureLayer:FeatureLayer = new FeatureLayer();
featureLayer.featureCollection = new FeatureCollection(featureSet, layerDetails);
map.addLayer(featureLayer);
map.initialExtent = initialExtent;
map.zoomToInitialExtent();
}
protected function onAddButtonClick(event:MouseEvent):void
{
var graphicCollection:Array = new Array();
// create 10 features with random location
for (var i:int; i < 10; i++)
{
var x:Number = Math.random() * 1000000;
var y:Number = Math.random() * 1000000;
var pt:MapPoint = new MapPoint(x, y, spatialReference);
var attributes:Object = new Object();
attributes.timeStamp = new Date();
var graphic:Graphic = new Graphic(pt, new SimpleMarkerSymbol(), attributes);
graphic.toolTip = attributes.timeStamp.toString();
graphicCollection.push(graphic);
var ptExtent:Extent = new Extent(x, y, x, y, spatialReference);
if (!initialExtent)
{
initialExtent = ptExtent;
}
else
{
initialExtent = initialExtent.union(ptExtent);
}
}
addFeatureLayer(graphicCollection);
}
]]>
</fx:Script>
<s:Button label="Add feature layer"
click="onAddButtonClick(event)" />
<esri:Map id="map">
<esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"/>
</esri:Map>
</s:Application>
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:esri="http://www.esri.com/2008/ags">
<s:layout>
<s:VerticalLayout paddingBottom="10"
paddingLeft="10"
paddingRight="10"
paddingTop="10" />
</s:layout>
<fx:Script>
<![CDATA[
import com.esri.ags.FeatureSet;
import com.esri.ags.Graphic;
import com.esri.ags.SpatialReference;
import com.esri.ags.geometry.Extent;
import com.esri.ags.geometry.MapPoint;
import com.esri.ags.layers.FeatureLayer;
import com.esri.ags.layers.supportClasses.FeatureCollection;
import com.esri.ags.layers.supportClasses.LayerDetails;
import com.esri.ags.symbols.SimpleMarkerSymbol;
private var spatialReference:SpatialReference = new SpatialReference(102100); // the same as in base(tiled) layer
private var initialExtent:Extent;
private function addFeatureLayer(features:Array):void
{
var featureSet:FeatureSet = new FeatureSet(features);
var layerDetails:LayerDetails = new LayerDetails();
var featureLayer:FeatureLayer = new FeatureLayer();
featureLayer.featureCollection = new FeatureCollection(featureSet, layerDetails);
map.addLayer(featureLayer);
map.initialExtent = initialExtent;
map.zoomToInitialExtent();
}
protected function onAddButtonClick(event:MouseEvent):void
{
var graphicCollection:Array = new Array();
// create 10 features with random location
for (var i:int; i < 10; i++)
{
var x:Number = Math.random() * 1000000;
var y:Number = Math.random() * 1000000;
var pt:MapPoint = new MapPoint(x, y, spatialReference);
var attributes:Object = new Object();
attributes.timeStamp = new Date();
var graphic:Graphic = new Graphic(pt, new SimpleMarkerSymbol(), attributes);
graphic.toolTip = attributes.timeStamp.toString();
graphicCollection.push(graphic);
var ptExtent:Extent = new Extent(x, y, x, y, spatialReference);
if (!initialExtent)
{
initialExtent = ptExtent;
}
else
{
initialExtent = initialExtent.union(ptExtent);
}
}
addFeatureLayer(graphicCollection);
}
]]>
</fx:Script>
<s:Button label="Add feature layer"
click="onAddButtonClick(event)" />
<esri:Map id="map">
<esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"/>
</esri:Map>
</s:Application>