I am trying to load some external GML map data into an SVG document - and it is 
working 
99% fine.

1. It works perfectly in Firefox
2. It works in ASV - but I get intermittent error messages ('Object required') 
when calling 
the function sometimes.  On some occasions, It'll load the same GML data just 
fine.

It seems that, at some stage during the loop for svg polygon creation, ASV 
can't read the 
GML elements which have been loaded into the 'xmlobjects' <g> element.

My code is below - anyone had anything similar happen? or any ideas why ASV is 
behaving 
so erratically?

function addGeom(node) {
clearXMLCache();//function to clear temporary area for GML loaded
svgDoc.getElementById('xmlobjects'.appendChild(node)//puts new GML content in 
temporary area
clearMapCache();//function clears out previous map geometry for the SVG
pathBuilder();//function to convert GML data into SVG syntax
}

//MAIN function
function pathBuilder()  {
                var myData = svgDoc.getElementById('xmlobjects');
                var TargetLayer = svgDoc.getElementById('gmlcontent');

                var aID = new Array();
                var aPaths = new Array();
                var myTile = 
myData.getElementsByTagNameNS(gmlNS,"featureMember");
                var myBBox = myData.getElementsByTagNameNS(gmlNS,"Box").item(0);
                var myBBoxData = myBBox.getElementsByTagNameNS
(gmlNS,"coordinates").item(0).firstChild.data;
                var a = myBBoxData.split(",");
                var b = a[1].split(" ");
                var newX = a[0];
                var newWidth=b[1]-a[0];
                var newHeight=a[2]-b[0];
                var tempy = parseInt(b[0])+parseInt(newHeight);
                var newY = 1100000-tempy;
                var newViewbox = newX+' '+newY+' '+newWidth+' '+newHeight;
                svgDoc.getElementById('mapwindow').setAttributeNS
(null,'viewBox',newViewbox);
                nFeatures = myTile.length;//number of objects in the map data
                for (i=0;i<nFeatures;i++)       {
                        var myFeature = myTile.item(i);
                        var myPathData = 'M';//starts a path element for a map 
feature
                        var myCode = myFeature.getElementsByTagNameNS("http://
www.esri.com/WFS",'RESIDENCE').item(0).firstChild.data;         
                        var myPolygons = myFeature.getElementsByTagNameNS
(gmlNS,'coordinates');
                                //inner loop to deal with multi-polygons and 
donuts - adds a 
'moveto' command
                                for (j=0;j<myPolygons.length;j++)       {
                                                var myCoords = 
myPolygons.item(j).textContent;
                                                if (myCoords ==null)    {
                                                myCoords = 
myPolygons.item(j).firstChild.data;
                                                }  //End of if
                                                if (j>0)        {
                                                myPathData = myPathData+' 
M'+myCoords;
                                                }       else    {
                                                myPathData = 
myPathData+myCoords;
                                                }  //end of if
                                }  //End of inner for loop
                        //close path and update path array
                        myPathData = myPathData+'Z';
                        aID[i] = myCode;
                        aPaths[i] = myPathData;
                }  //end of outer for loop
                var newGroup = 
svgDoc.createElementNS('http://www.w3.org/2000/svg',"g");
                newGroup.setAttributeNS(null,'id','polygongroup');
                TargetLayer.appendChild(newGroup);
                var PathTargetLayer = svgDoc.getElementById('polygongroup');
                for (k=0;k<nFeatures;k++)       {
                                //CREATE PATH ELEMENT AND APPEND TO DOCUMENT
                                var newPath = 
svgDoc.createElementNS('http://www.w3.org/2000/
svg',"path");
                                newPath.setAttributeNS(null,'d',aPaths[k]);
                                newPath.setAttributeNS(null,'id','GML_'+aID[k]);
                                PathTargetLayer.appendChild(newPath);
                }  //End of for loop
}  //End of function
 



-----
To unsubscribe send a message to: [EMAIL PROTECTED]
-or-
visit http://groups.yahoo.com/group/svg-developers and click "edit my 
membership"
---- 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/svg-developers/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/svg-developers/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[EMAIL PROTECTED] 
    mailto:[EMAIL PROTECTED]

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 

Reply via email to