var urlToObject = locale.substring(locale.indexOf("?") + 1, locale.length); var testURLExtent; urlToObject = dojo.queryToObject(urlToObject); if ( urlToObject.urlxmin != null) { alert ("passed in extent from url"); var locXmin = urlToObject.urlxmin; var locYmin = urlToObject.urlymin; var locXmax = urlToObject.urlxmax; var locYMax = urlToObject.urlymax; } else { alert ("no params, preset extent"); var locXmin = 896338.273119375; var locYmin = 116730.668986593; var locXmax = 1089315.70367493; var locYMax = 274621.293986593; } var testURLExtent = new esri.geometry.Extent (locXmin, locYmin, locXmax, locYMax, new esri.SpatialReference({ wkid: 2263}));
var curExtent = { urlxmin: pointExtent.xmin, urlymin: pointExtent.ymin, urlxmax: pointExtent.xmax, urlymax: pointExtent.ymax, }; var url = "http://127.0.0.1:8020/MyApp/index.html"; var queryStr = dojo.objectToQuery(curExtent); url= url + "?" + queryStr; alert (" url: " + url);
If you navigate to just this portion of the url does the page load successfully?
yes it does.
http://127.0.0.1:8020/SchoolSafety/index.html
If you add a breakpoint to your app what is the line of code where your app fails?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=7,IE=9" /> <!--The viewport meta tag is used to improve the presentation and behavior of the samples on iOS devices--> <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/> <title>Topographic Map</title> <link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.1/js/dojo/dijit/themes/claro/claro.css"> <style> html, body { height: 100%; width: 100%; margin: 0; padding: 0; } .esriScalebar{ padding: 20px 20px; } #map{ padding:0; } </style> <script type="text/javascript">var djConfig = {parseOnLoad: true};</script> <script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=3.1"></script> <script type="text/javascript"> dojo.require("dijit.layout.BorderContainer"); dojo.require("dijit.layout.ContentPane"); dojo.require("esri.map"); var map; function init() { var initExtent = new esri.geometry.Extent({"xmin":-122.46,"ymin":37.73,"xmax":-122.36,"ymax":37.77,"spatialReference":{"wkid":4326}}); map = new esri.Map("map",{ extent:esri.geometry.geographicToWebMercator(initExtent) }); var basemap = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer"); map.addLayer(basemap); //if there are url params zoom to location var coords, zoomLevel; var urlObject = esri.urlToObject(document.location.href); if(urlObject.query && urlObject.query.urlExtent){ map.setExtent(new esri.geometry.Extent(dojo.fromJson(urlObject.query.urlExtent))); } dojo.connect(map, 'onLoad', function(theMap) { //resize the map when the browser resizes dojo.connect(dijit.byId('map'), 'resize', map,map.resize); }); } function generateUrl(){ //construct url param at current extent var extent = dojo.toJson(map.extent.toJson()); var url = location.protocol + '//' + location.host + location.pathname + '?urlExtent=' + encodeURIComponent(extent); console.log(url); } dojo.addOnLoad(init); </script> </head> <body class="claro"> <div dojotype="dijit.layout.BorderContainer" design="headline" gutters="false" style="width: 100%; height: 100%; margin: 0;"> <div dojotype='dijit.layout.BorderContainer' region='top' style='height:20px;'> <input type='button' onClick='generateUrl();' value='Generate URL (see console)'/> </div> <div id="map" dojotype="dijit.layout.ContentPane" region="center" style="border:1px solid #000;padding:0;"> </div> </div> </body> </html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=7,IE=9" /> <!--The viewport meta tag is used to improve the presentation and behavior of the samples on iOS devices--> <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/> <title>Topographic Map</title> <link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.1/js/dojo/dijit/themes/claro/claro.css"> <style> html, body { height: 100%; width: 100%; margin: 0; padding: 0; } .esriScalebar{ padding: 20px 20px; } #map{ padding:0; } </style> <script type="text/javascript">var djConfig = {parseOnLoad: true};</script> <script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=3.1"></script> <script type="text/javascript"> dojo.require("dijit.layout.BorderContainer"); dojo.require("dijit.layout.ContentPane"); dojo.require("esri.map"); var map; function init() { var initExtent = new esri.geometry.Extent({"xmin":-122.46,"ymin":37.73,"xmax":-122.36,"ymax":37.77,"spatialReference":{"wkid":4326}}); map = new esri.Map("map",{ extent:esri.geometry.geographicToWebMercator(initExtent) }); var basemap = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer"); map.addLayer(basemap); //if there are url params zoom to location var coords, zoomLevel; var urlObject = esri.urlToObject(document.location.href); if(urlObject.query && urlObject.query.urlExtent){ map.setExtent(new esri.geometry.Extent(dojo.fromJson(urlObject.query.urlExtent))); } dojo.connect(map, 'onLoad', function(theMap) { //resize the map when the browser resizes dojo.connect(dijit.byId('map'), 'resize', map,map.resize); }); } function generateUrl(){ //construct url param at current extent var extent = dojo.toJson(map.extent.toJson()); var url = location.protocol + '//' + location.host + location.pathname + '?urlExtent=' + encodeURIComponent(extent); console.log(url); } dojo.addOnLoad(init); </script> </head> <body class="claro"> <div dojotype="dijit.layout.BorderContainer" design="headline" gutters="false" style="width: 100%; height: 100%; margin: 0;"> <div dojotype='dijit.layout.BorderContainer' region='top' style='height:20px;'> <input type='button' onClick='generateUrl();' value='Generate URL (see console)'/> </div> <div id="map" dojotype="dijit.layout.ContentPane" region="center" style="border:1px solid #000;padding:0;"> </div> </div> </body> </html>