Hello,
I am trying to use the JSON objects. I have small program which creates a polyline graphic. I seem to create the object correctly (by viewing the alerts in the code) but the result is no graphic on the map. Also there is no error message. I was using the list of coordinates method and it works, but I would like to use JSON if possible.
Here is a portion of the code:
//********************************************************
// start with array of coordinates (various lengths...)
// for each offset to x0,y0 and resize dx,dy
var myJSON = "jsnpolyline = {\"paths\":[["; // beginning of json string
ncoord = arrayofcoord.length;
for(j=0; j<ncoord; j+=2)
{
ln0 = x0 + (arrayofcoord)*dx; // first in pair
lt0 = y0 + (arrayofcoord[j+1])*dy; // second in pair
if(j>0) myJSON = myJSON + ", "; //add comma between pairs --- after first pair
myJSON = myJSON + "["+ln0+","+lt0+"]"; // add next pair to json string
}
myJSON = myJSON + "]],\"spatialReference\":{\"wkid\":4152}}"; // add this to end of jason string
alert(myJSON); // for debugging (see below)
eval(myJSON);
alert(jsnpolyline.paths); // for debugging(see below)
var polyline = new esri.geometry.Polyline(jsnpolyline);
polyline.addPath(polyline);
var graphic = new esri.Graphic(polyline, numsymbol);
numberLayer.add(graphic);
//***************************************************
the first alert above produces something similar to:
jsnpolyline = {"paths":[[[-117.946655,33.641689],[-117.94346,33.645121]]],"spatialReference":{"wkid":4152}}
(note this is a shortened sample ... the arrays have between 4 and 18 point pairs)
the second alert produces similar to (same note as above):
-117.946655,33.641689,-117.94346,33.645121
Thanks, Glen