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!
サインインしたメンバーは投稿、更新のフォローなどができます。初めてですか?無料アカウントを登録してください。
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.