add graphic (point) from url parameters, point doesn't display

Discussion created by bagpipemike on Jun 25, 2014
Latest reply on Jun 26, 2014 by bagpipemike

I'm trying to have a simple map that will show an ArcGISTiledMapServiceLayer as the basemap. On top of this I want to add a graphic (a point) created with x and y values given as url parameters. The first problem I had was that I was getting an error saying is null. I came across this forum post that says that I need to wait until the map load event is fired before adding the graphic. I tested that this works by manually typing x and y coordinates into the arguments I'm passing into the mapLoadHandler method like so:

map.on("load", function(){mapLoadHandler(325000, 675000);});

But in reality I want to pass the x and y values from the url parameters as arguments into the mapLoadHandler method and if I do this then the graphic doesn't appear (and there aren't any error messages). Interestingly the map does centerAndZoom successfully to the location of the x and y coordinates passed into the method but I don't understand why it then doesn't draw the graphic. Here is the code:

     var xcoord = new Number(getUrlVars()["x"]);
     var ycoord = new Number(getUrlVars()["y"]);     
     map.on("load", function(){mapLoadHandler(xcoord, ycoord);});

     function getUrlVars() {
      var vars = {};
      var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m, key, value) {
       vars[key] = value;
      return vars;
     function mapLoadHandler(xcoord, ycoord) {
      var incident = new Point([xcoord, ycoord], new SpatialReference({
        wkid : 27700
      console.log("incident.x = " + incident.x);
      map.centerAndZoom(incident, 7);
      var symbol = SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE, 18, new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color([0, 105, 255]), 2), new Color([255, 0, 0]));      
      var newGraphic = new Graphic(incident, symbol);;