<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Decode a JSON geometry in ArcGIS API for Flex Questions</title>
    <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/decode-a-json-geometry/m-p/537070#M12117</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm looking for a way to store the Graphics of the DrawWidget in a database and load them in a next session.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I thing that I need to save the geometry and the symbol for each Graphic, and probably the best way is use JSON.encode and JSON.decode&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://help.arcgis.com/en/webapi/flex/apiref/com/esri/ags/utils/JSON.html"&gt;http://help.arcgis.com/en/webapi/flex/apiref/com/esri/ags/utils/JSON.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I can transform a geometry to JSON and the JSON string to a Object type but, How can I create a Geometry type from JSON string? I'm sure that there is something in the API (probably geometryService wrapper use that) but I can't find it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And if you know how to create a Symbol (SimpleMarkerSymbol, SimpleLineSymbol....) or a Graphic from JSON using API or if you have a code snippet it could be very useful for me &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; Any help is welcome.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you in advance.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Esther&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 08 Sep 2011 14:12:07 GMT</pubDate>
    <dc:creator>EstherColero</dc:creator>
    <dc:date>2011-09-08T14:12:07Z</dc:date>
    <item>
      <title>Decode a JSON geometry</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/decode-a-json-geometry/m-p/537070#M12117</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm looking for a way to store the Graphics of the DrawWidget in a database and load them in a next session.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I thing that I need to save the geometry and the symbol for each Graphic, and probably the best way is use JSON.encode and JSON.decode&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://help.arcgis.com/en/webapi/flex/apiref/com/esri/ags/utils/JSON.html"&gt;http://help.arcgis.com/en/webapi/flex/apiref/com/esri/ags/utils/JSON.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I can transform a geometry to JSON and the JSON string to a Object type but, How can I create a Geometry type from JSON string? I'm sure that there is something in the API (probably geometryService wrapper use that) but I can't find it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And if you know how to create a Symbol (SimpleMarkerSymbol, SimpleLineSymbol....) or a Graphic from JSON using API or if you have a code snippet it could be very useful for me &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; Any help is welcome.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you in advance.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Esther&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Sep 2011 14:12:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/decode-a-json-geometry/m-p/537070#M12117</guid>
      <dc:creator>EstherColero</dc:creator>
      <dc:date>2011-09-08T14:12:07Z</dc:date>
    </item>
    <item>
      <title>Re: Decode a JSON geometry</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/decode-a-json-geometry/m-p/537071#M12118</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi, &lt;/SPAN&gt;&lt;A href="http://help.arcgis.com/en/webapi/flex/apiref/com/esri/ags/FeatureSet.html"&gt;FeatureSet&lt;/A&gt;&lt;SPAN&gt; is Array of Graphics.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;FeatureSet () Constructor&lt;BR /&gt;public function FeatureSet(features:Array = null)&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;where&lt;/SPAN&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;features property&amp;nbsp; &lt;BR /&gt;features:Array&lt;BR /&gt;&lt;BR /&gt;Array of graphic features.&lt;BR /&gt;&lt;BR /&gt;...&lt;BR /&gt;&lt;BR /&gt;See also&lt;BR /&gt;com.esri.ags.Graphic&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Each feature in features array is Graphic. Each Graphic (in JSON) consists of "geometry" (in JSON) and "attributes" (in JSON) smthing like:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;"features" : [&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "geometry" : {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "x" : -178.24479999999991,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "y" : 50.012500000000045&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "attributes" : {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "objectid" : 3745682,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "datetime" : 1272210710000,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "depth" : 31.100000000000001,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "eqid" : "2010vma5",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "latitude" : 50.012500000000003,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "longitude" : -178.2448,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "magnitude" : 4.7999999999999998,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "numstations" : 112,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "region" : "Andreanof Islands, Aleutian Islands, Alaska",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "source" : "us",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "version" : "Q"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "geometry" : {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "x" : -72.865099999999927,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "y" : -37.486599999999953&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "attributes" : {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "objectid" : 3745685,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "datetime" : 1272210142999,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "depth" : 40.600000000000001,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "eqid" : "2010vma4",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "latitude" : -37.486600000000003,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "longitude" : -72.865099999999998,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "magnitude" : 4.9000000000000004,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "numstations" : 58,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "region" : "Bio-Bio, Chile",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "source" : "us",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "version" : "7"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; ]&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;com.esri.ags.FeatureSet has public methods:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;fromJSON () method&amp;nbsp; &lt;BR /&gt;public static function fromJSON(json:String):FeatureSet&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;toJSON () method&amp;nbsp; &lt;BR /&gt;public function toJSON():String&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Good luck.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Sep 2011 05:52:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/decode-a-json-geometry/m-p/537071#M12118</guid>
      <dc:creator>IvanBespalov</dc:creator>
      <dc:date>2011-09-09T05:52:54Z</dc:date>
    </item>
    <item>
      <title>Re: Decode a JSON geometry</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/decode-a-json-geometry/m-p/537072#M12119</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thank you Ivan,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have try this previuosly, but when I rebuild the FeatureSet there are all Graphics but there is not any geometry or symbol (all them are null)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
var pFeatureSet:FeatureSet = null;
var pFeatureSet2:FeatureSet = null;
var arrGraphics:Array = new Array();
var pGraphic:Graphic;

//Store all Graphics in an Array
for (var i:int = 0; i &amp;lt; graphicsLayer.numGraphics; i++)
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; pGraphic = Graphic(graphicsLayer.getChildAt(i));
&amp;nbsp;&amp;nbsp;&amp;nbsp; arrGraphics.push(pGraphic);
}

//Create FeatureSet
pFeatureSet = new FeatureSet(arrGraphics);

//to JSON
var strJSON:String = pFeatureSet.toJSON();

//toFeatureSet
pFeatureSet2 = FeatureSet.fromJSON(strJSON); //All graphics, but no geometries or symbols

//Now with your example
strJSON = '{"features" : [{"geometry" : {"x" : -178.24479999999991,"y" : 50.012500000000045},"attributes" : {"objectid" : 3745682,"datetime" : 1272210710000,"depth" : 31.100000000000001,"eqid" : "2010vma5","latitude" : 50.012500000000003,"longitude" : -178.2448,"magnitude" : 4.7999999999999998,"numstations" : 112,"region" : "Andreanof Islands, Aleutian Islands, Alaska","source" : "us","version" : "Q"}},{"geometry" : {"x" : -72.865099999999927,"y" : -37.486599999999953},"attributes" : {"objectid" : 3745685,"datetime" : 1272210142999,"depth" : 40.600000000000001,"eqid" : "2010vma4","latitude" : -37.486600000000003,"longitude" : -72.865099999999998,"magnitude" : 4.9000000000000004,"numstations" : 58,"region" : "Bio-Bio, Chile","source" : "us","version" : "7"}}] }';
pFeatureSet2 = FeatureSet.fromJSON(strJSON); //All graphics, but no geometries or symbols&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am using Flex viewer 2.4. does it work for you?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Esther&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 23:19:20 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/decode-a-json-geometry/m-p/537072#M12119</guid>
      <dc:creator>EstherColero</dc:creator>
      <dc:date>2021-12-11T23:19:20Z</dc:date>
    </item>
    <item>
      <title>Re: Decode a JSON geometry</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/decode-a-json-geometry/m-p/537073#M12120</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Reading reference:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt; &lt;SPAN style="font-size:&amp;quot;1&amp;quot;;"&gt;fromJSON () method &lt;BR /&gt;public static function fromJSON(json:String):FeatureSet&lt;BR /&gt;&lt;BR /&gt;Convert from JSON to FeatureSet.&lt;BR /&gt;&lt;BR /&gt;Parameters&lt;BR /&gt; json:String â?? ArcGIS JSON String&lt;BR /&gt;&lt;BR /&gt;Returns&lt;BR /&gt; FeatureSet â?? a new FeatureSet&lt;BR /&gt;&lt;BR /&gt;See also&lt;/SPAN&gt; &lt;BR /&gt; &lt;SPAN style="color: &amp;quot;Red&amp;quot;; font-size: &amp;quot;4&amp;quot;;"&gt;Input JSON should match this REST response syntax&lt;/SPAN&gt;&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;Try this:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;
&amp;lt;s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:s="library://ns.adobe.com/flex/spark"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:esri="http://www.esri.com/2008/ags"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"&amp;gt;
 &amp;lt;s:layout&amp;gt;
&amp;nbsp; &amp;lt;s:VerticalLayout paddingBottom="6"/&amp;gt;
 &amp;lt;/s:layout&amp;gt;
 
 &amp;lt;fx:Script&amp;gt;
&amp;nbsp; &amp;lt;![CDATA[
&amp;nbsp;&amp;nbsp; import com.esri.ags.FeatureSet;
&amp;nbsp;&amp;nbsp; import com.esri.ags.Graphic;
&amp;nbsp;&amp;nbsp; import com.esri.ags.events.MapMouseEvent;
&amp;nbsp;&amp;nbsp; import com.esri.ags.geometry.Geometry;
&amp;nbsp;&amp;nbsp; import com.esri.ags.geometry.MapPoint;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; import mx.collections.ArrayCollection;
&amp;nbsp;&amp;nbsp; import mx.utils.StringUtil;
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; private var jsonFeatureSet:String = "";
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp; * Listen map mouse down handler
&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp; protected function myMap_mapMouseDownHandler(event:MapMouseEvent):void
&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; //var grGeometry:MapPoint = myMap.extent.center;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var grGeometry:MapPoint = event.mapPoint;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var grAttributes:Object = new Object();
&amp;nbsp;&amp;nbsp;&amp;nbsp; var dateAttr:Date = new Date();
&amp;nbsp;&amp;nbsp;&amp;nbsp; grAttributes.creationDate = dateAttr;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var numberAttr:Number = 777;
&amp;nbsp;&amp;nbsp;&amp;nbsp; grAttributes.n = numberAttr;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var boolAttr:Boolean = true;
&amp;nbsp;&amp;nbsp;&amp;nbsp; grAttributes.b = boolAttr;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var stringAttr:String = "Text";
&amp;nbsp;&amp;nbsp;&amp;nbsp; grAttributes.s = stringAttr;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; var gr:Graphic = new Graphic(grGeometry, sms, grAttributes);
&amp;nbsp;&amp;nbsp;&amp;nbsp; gr.toolTip = mx.utils.StringUtil.substitute("{0}\n{1}\n{2}\n{3}", 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gr.attributes.creationDate, 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gr.attributes.n, 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gr.attributes.b, 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gr.attributes.s);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; var grId:String = myGraphicsLayer.add(gr);
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; trace(StringUtil.substitute("Graphic with id: {0} added.", grId));
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp; * Listen export button click handler
&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp; protected function btnExportClick(event:MouseEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; var arrGraphics:ArrayCollection = myGraphicsLayer.graphicProvider as ArrayCollection;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (arrGraphics != null &amp;amp;&amp;amp; arrGraphics.length &amp;gt; 0) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var fsToExport:FeatureSet = new FeatureSet(arrGraphics.toArray());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color:&amp;quot;Red&amp;quot;;"&gt;fsToExport.geometryType = Geometry.MAPPOINT;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (fsToExport != null) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jsonFeatureSet = fsToExport.toJSON();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; trace(jsonFeatureSet);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp; * Listen import button click handler
&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp; protected function btnImportClick(event:MouseEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (jsonFeatureSet != null &amp;amp;&amp;amp; jsonFeatureSet.length &amp;gt; 0) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var fsImported:FeatureSet = FeatureSet.fromJSON(jsonFeatureSet);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (fsImported != null) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var arrImported:Array = fsImported.features as Array;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myGraphicsLayer.graphicProvider = arrImported;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp; /**
&amp;nbsp;&amp;nbsp;&amp;nbsp; * Listen clear all button click handler
&amp;nbsp;&amp;nbsp;&amp;nbsp; */
&amp;nbsp;&amp;nbsp; protected function btnClearClick(event:MouseEvent):void
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; myGraphicsLayer.clear();
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; 
&amp;nbsp; ]]&amp;gt;
 &amp;lt;/fx:Script&amp;gt;
 &amp;lt;fx:Declarations&amp;gt;
&amp;nbsp; &amp;lt;!-- Symbol for all point shapes --&amp;gt;
&amp;nbsp; &amp;lt;esri:SimpleMarkerSymbol id="sms"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; color="0x00FF00"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; size="12"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; style="{SimpleMarkerSymbol.STYLE_DIAMOND}"/&amp;gt;
 &amp;lt;/fx:Declarations&amp;gt;
 
 &amp;lt;esri:Map id="myMap"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mapMouseDown="myMap_mapMouseDownHandler(event)"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; level="3"
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wrapAround180="true"&amp;gt;
&amp;nbsp; &amp;lt;esri:ArcGISTiledMapServiceLayer url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"/&amp;gt;
&amp;nbsp; &amp;lt;esri:GraphicsLayer id="myGraphicsLayer" symbol="{sms}"/&amp;gt;
 &amp;lt;/esri:Map&amp;gt;
 
 &amp;lt;s:Button id="btnExport" label="Export to JSON string" click="btnExportClick(event)"/&amp;gt;
 &amp;lt;s:Button id="btnClearAll" label="Clear all graphics" click="btnClearClick(event)"/&amp;gt;
 &amp;lt;s:Button id="btnImport" label="Import from JSON string" click="btnImportClick(event)"/&amp;gt;
&amp;lt;/s:Application&amp;gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;In this sample:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1 - Add graphics clicking on Map&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2 - Click export to JSON button&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;3 - Click clear graphics button&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;4 - Click import fromJSON button&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Symbols &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The 1 of the ways, to hold information about symbols = save it in one of the attributes in your graphic object. Parse this attribute when "FeatureSet.fromJSON" complete (create own classes, methods). Create symbol based on parsed data on fly.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Good luck.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 23:19:23 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/decode-a-json-geometry/m-p/537073#M12120</guid>
      <dc:creator>IvanBespalov</dc:creator>
      <dc:date>2021-12-11T23:19:23Z</dc:date>
    </item>
    <item>
      <title>Re: Decode a JSON geometry</title>
      <link>https://community.esri.com/t5/arcgis-api-for-flex-questions/decode-a-json-geometry/m-p/537074#M12121</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;if fidelity is important maybe ByteArray?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;in the app init, register the ESRI classes you're using, eg:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;registerClassAlias("com.esri.ags.Graphic", Graphic);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;registerClassAlias("com.esri.ags.SpatialReference", SpatialReference);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;registerClassAlias("com.esri.ags.geometry.MapPoint", MapPoint);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;registerClassAlias("com.esri.ags.geometry.Extent", Extent);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;registerClassAlias("com.esri.ags.symbols.SimpleFillSymbol",SimpleFillSymbol);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;then to serialize, for example:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;protected function addBM(event:MouseEvent):void {&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; var thisBookmark:Object={};&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; var bookmark:ByteArray = new ByteArray();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; thisBookmark.extent=theMap.extent;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // gets array of redline graphics in current map extent&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; thisBookmark.redlines=redlineInExtent();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; bookmark.writeObject(thisBookmark);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // send back to coldfusion for storage&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; psService.addBM(userID,bookmarksWindow.bmName.text,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bookmarksWindow.shareBM.selected,new Date().getTime(),bookmarkl);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ByteArray readObject() will deserialize this back to the original data, symbolization &amp;amp; all.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Sep 2011 09:31:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-flex-questions/decode-a-json-geometry/m-p/537074#M12121</guid>
      <dc:creator>PaulHastings1</dc:creator>
      <dc:date>2011-09-12T09:31:12Z</dc:date>
    </item>
  </channel>
</rss>

