AnsweredAssumed Answered

IE 7 throws error, firefox does not

Question asked by gilest on Nov 15, 2010
Latest reply on Feb 7, 2012 by DSwingley-esristaff
I have a series of anchor tags in a panel next to my map, each the name of a person.  The map contains just the ESRI street map service and points in the map's graphicslayer that are the person's location (not dynamic, just hard coded x,y). 

When you click one of the name <a> tags, it should zoom the map to their location and display the info window.  This works great in Firefox, but IE 7 does 2 things -
the graphics disappear from the map &
  if you try to pan the map or zoom out it throws an error about 'illegal string in Vector 2d' (see attached).

Any idea what's causing this and how to fix it (other than not using IE...)?

note - I added a demo version of html page to this post.  Try it in IE - click on Person 1 in the left and it will work.  Now click on Person 2 and you'll notice the graphic is gone and if you try to pan you'll get the error..  The Esri forums do not allow for uploading .htm files so rename it from .txt to .htm and give it a try.

Thanks, TG


sample html <a> tag -

<a href ='' title='some name' onclick='clickLink(1);return false;' >some name</a>



        //in my init function, the maps extent changed handler is set using 
        dojo.connect(map, 'onExtentChange', Extent_Change);

        function clickLink(id) {
            //generic handler for all of the links in the student list

            map.infoWindow.hide();

            var graphic;

            dojo.forEach(map.graphics.graphics, function (g) {
                if (g.attributes["ID"] == id)
                {
                    graphic = g;
                }
            });

            //tmpGraphic and bolClickLink are global in scope
            tmpGraphic = graphic;
            bolClickLink = true;
            map.centerAndZoom(graphic.geometry, map.getNumLevels()-3);
        }



        function Extent_Change(ext, delta, bolLevel,lod) {
            var e = new Object;

            if (bolClickLink) {
                e.graphic = tmpGraphic;
                e.screenPoint = map.toScreen(tmpGraphic.geometry);
                e.mapPoint = tmpGraphic.geometry;
                graphicClick(e);

            }

            bolClickLink = false;

        }

        function graphicClick(evt) {

            map.infoWindow.setTitle("Flat Stanley");
            map.infoWindow.setContent(evt.graphic.attributes["Name"] + "<br/>" + evt.graphic.attributes["Place"]);
            map.infoWindow.show(evt.screenPoint, map.getInfoWindowAnchor(evt.screenPoint));

        }


Attachments

Outcomes