map.destroy(); dojo.addOnLoad(init);
Alex: I think I might be confused as to what you are trying to accomplish. Can you recreate a sample of your issue using jsfiddle.net?
Try console.dir(map) before your setextent. I bet you your map object is null do to a scoping issue
bject __LOD: undefined __container: div#map_container.container __panning: false __root: div#map_root.container __tileInfo: null __visibleDelta: Object __visibleRect: Object __zooming: false _canZoom: function (){return _bb.apply(_ba,arguments||[]);} _clickDuration: 300 _clickTimer: null _connects: Array[11] _cursor: "default" _dblClickZoomHandler_connect: Array[4] _delta: null _downCoords: null _downPanHandler_connect: Array[4] _downZoomHandler_connect: Array[4] _dragEnd: false _dragOrigin: null _fireClickEvent: function (){return _bb.apply(_ba,arguments||[]);} _fireMouseWheel: function (){return _bb.apply(_ba,arguments||[]);} _firstLayerId: null _fixedPan: function (){return _bb.apply(_ba,arguments||[]);} _gc: Object _infoWindowCoords: null _infoWindowIsShowing: false _internalLayerIds: Array[1] _isPanningOrZooming: function (){return _bb.apply(_ba,arguments||[]);} _iwExtentChange_connect: null _iwPan_connect: null _iwZoomStart_connect: null _keyNavigatingHandler_connect: Array[4] _keyNavigationEndHandler_connect: Array[4] _keyboardPanDx: 0 _keyboardPanDy: 0 _layerDivs: Array[0] _layerSize: 1 _layers: Array[0] _layersDiv: div#map_layers.layersDiv _mapParams: Object _mouseWheelEvent: Object _mouseWheelTimer: null _navDiv: null _normalizeRect: function (){return _bb.apply(_ba,arguments||[]);} _onKeyDown_connect: null _onKeyUp_connect: null _onLoadHandler_connect: Array[4] _onMouseDragHandler_connect: null _onMouseMoveHandler_connect: Array[4] _onMouseUpHandler_connect: Array[4] _panEndHandler: function (){return _bb.apply(_ba,arguments||[]);} _panHandler_connect: null _panInitEvent: "onMouseDown" _panStartHandler_connect: null _panningHandler: function (){return _bb.apply(_ba,arguments||[]);} _params: Object _processEvent: function (){return _bb.apply(_ba,arguments||[]);} _ratioH: 0.3474365355898457 _ratioW: 0.3474365355898506 _recenterHandler_connect: Array[4] _recenterZoomHandler_connect: null _scrollZoomHandler_connect: Array[4] _slider: null _sliderChangeAnchor: null _slider_connect: null _slidermovestop_connect: null _upPanHandler_connect: null _upZoomHandler_connect: null _zoom: 0 _zoomAnim: null _zoomAnimDiv: div#_zAD _zoomEndHandler: function (){return _bb.apply(_ba,arguments||[]);} _zoomHandler_connect: null _zoomInitEvent: "onMouseDown" _zoomRect: Object _zoomStartHandler: function (){return _bb.apply(_ba,arguments||[]);} _zoomingHandler: function (){return _bb.apply(_ba,arguments||[]);} container: div#map.map cursor: "default" extent: Object graphics: Object graphicsLayerIds: Array[0] height: 698 id: "map" infoWindow: Object isClickRecenter: false isDoubleClickZoom: false isKeyboardNavigation: false isPan: false isPanArrows: false isRubberBandZoom: false isScrollWheelZoom: false isShiftDoubleClickZoom: false isZoomSlider: false layer0_addtoken_err: Array[4] layer0_addtoken_load: Array[4] layerIds: Array[1] loaded: true onClick: function (){var ap=Array.prototype,c=arguments.callee,ls=c._listeners,t=c.target;var r=t&&t.apply(this,arguments);var lls;lls=[].concat(ls);for(var i in lls){if(!(i in ap)){lls.apply(this,arguments);}}return r;} onDblClick: function (){var ap=Array.prototype,c=arguments.callee,ls=c._listeners,t=c.target;var r=t&&t.apply(this,arguments);var lls;lls=[].concat(ls);for(var i in lls){if(!(i in ap)){lls.apply(this,arguments);}}return r;} onExtentChange: function (){var ap=Array.prototype,c=arguments.callee,ls=c._listeners,t=c.target;var r=t&&t.apply(this,arguments);var lls;lls=[].concat(ls);for(var i in lls){if(!(i in ap)){lls.apply(this,arguments);}}return r;} onKeyDown: function (){var ap=Array.prototype,c=arguments.callee,ls=c._listeners,t=c.target;var r=t&&t.apply(this,arguments);var lls;lls=[].concat(ls);for(var i in lls){if(!(i in ap)){lls.apply(this,arguments);}}return r;} onKeyUp: function (){var ap=Array.prototype,c=arguments.callee,ls=c._listeners,t=c.target;var r=t&&t.apply(this,arguments);var lls;lls=[].concat(ls);for(var i in lls){if(!(i in ap)){lls.apply(this,arguments);}}return r;} onLoad: function (){var ap=Array.prototype,c=arguments.callee,ls=c._listeners,t=c.target;var r=t&&t.apply(this,arguments);var lls;lls=[].concat(ls);for(var i in lls){if(!(i in ap)){lls.apply(this,arguments);}}return r;} onMouseDown: function (){var ap=Array.prototype,c=arguments.callee,ls=c._listeners,t=c.target;var r=t&&t.apply(this,arguments);var lls;lls=[].concat(ls);for(var i in lls){if(!(i in ap)){lls.apply(this,arguments);}}return r;} onMouseWheel: function (){var ap=Array.prototype,c=arguments.callee,ls=c._listeners,t=c.target;var r=t&&t.apply(this,arguments);var lls;lls=[].concat(ls);for(var i in lls){if(!(i in ap)){lls.apply(this,arguments);}}return r;} onPan: function (){var ap=Array.prototype,c=arguments.callee,ls=c._listeners,t=c.target;var r=t&&t.apply(this,arguments);var lls;lls=[].concat(ls);for(var i in lls){if(!(i in ap)){lls.apply(this,arguments);}}return r;} onPanEnd: function (){var ap=Array.prototype,c=arguments.callee,ls=c._listeners,t=c.target;var r=t&&t.apply(this,arguments);var lls;lls=[].concat(ls);for(var i in lls){if(!(i in ap)){lls.apply(this,arguments);}}return r;} onResize: function (){var ap=Array.prototype,c=arguments.callee,ls=c._listeners,t=c.target;var r=t&&t.apply(this,arguments);var lls;lls=[].concat(ls);for(var i in lls){if(!(i in ap)){lls.apply(this,arguments);}}return r;} onUnload: function (){var ap=Array.prototype,c=arguments.callee,ls=c._listeners,t=c.target;var r=t&&t.apply(this,arguments);var lls;lls=[].concat(ls);for(var i in lls){if(!(i in ap)){lls.apply(this,arguments);}}return r;} onZoom: function (){var ap=Array.prototype,c=arguments.callee,ls=c._listeners,t=c.target;var r=t&&t.apply(this,arguments);var lls;lls=[].concat(ls);for(var i in lls){if(!(i in ap)){lls.apply(this,arguments);}}return r;} onZoomStart: function (){var ap=Array.prototype,c=arguments.callee,ls=c._listeners,t=c.target;var r=t&&t.apply(this,arguments);var lls;lls=[].concat(ls);for(var i in lls){if(!(i in ap)){lls.apply(this,arguments);}}return r;} position: Object spatialReference: Object width: 918 __proto__: Object
If you are just changing the extent, no refresh is needed.Make sure you have a direct reference to the map object in your callback.If this doesn't fix the issue, could you create a sample using jsfiddle.net so I can take a look? Thanks!
function init() { map = new esri.Map("map", { slider: false, logo: false }); dojo.connect(map, "onLoad", function () { map.disableClickRecenter(); map.disableDoubleClickZoom(); map.disableKeyboardNavigation(); map.disableMapNavigation(); map.disablePan(); map.disableRubberBandZoom(); map.disableScrollWheelZoom(); map.disableShiftDoubleClickZoom(); map.hidePanArrows(); map.hideZoomSlider(); }); dojo.connect(map, "onExtentChange", showScaleInfo); //instantiate the PCI map service swaMapLayer = new esri.layers.ArcGISDynamicMapServiceLayer(PCILayer, { "visible": true }); //add the PCI layer to the map map.addLayer(swaMapLayer); //scalebar = new dtdg.scalebar(map); //get the SourceTagNumber featureId = $('#SelectASourceSelected').val(); var queryTask, query; //build a query to get the extent of the SWA delineated area queryTask = new esri.tasks.QueryTask(queryLayer); query = new esri.tasks.Query(); //the geometry is needed to get the extent of the feature query.returnGeometry = true; query.where = "SRCID='" + featureId + "'"; queryTask.execute(query, onQueryResult); }
Hey Alex! The map shouldn't need to be refreshed in normal circumstances. What is your use-case and could you provide a sample using jsfiddle.net?Thanks!
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.