Autodesk 15606-011408-9300 Developer Guide - Page 45
Controlling Map Refresh Operations, Using the autoRefresh Flag
UPC - 606121429548
View all Autodesk 15606-011408-9300 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 45 highlights
Controlling Map Refresh Operations You can ensure that Autodesk MapGuide Viewer will not enter a busy state by controlling when display refreshes occur. The first step is to remember that display refreshes always occur in the following instances: I When the autoRefresh flag is set to True with MGMap.setAutoRefresh, and the application calls an API method that requires an automatic refresh such as MGMap.zoomSelected. Methods requiring an automatic refresh are noted in the Autodesk MapGuide Viewer API Help. I Your application calls zoomGotoDlg, zoomGotoLocation, setUrl, or refresh. These methods always invoke a display refresh, even if the autoRefresh flag is set to false. The only exception is if you call one of these methods from onViewChanging or onMapLoaded event handling code. Under these circumstances, the methods will fail and will set error code to -14 (refresh disabled) because the onViewChanging and onMapLoaded events always disable the autoRefresh flag. Using the autoRefresh Flag To develop an application that executes smoothly, you need to prevent busy states while the application calls methods in the API that do not work during the busy state. To do this, you need to disable the autoRefresh flag. To disable the autoRefresh Flag 1 Set the autoRefresh flag to False immediately before calling the first method. 2 Reset the autoRefresh flag to True. 3 Call the refresh method immediately after your application calls the other methods that do not work during the busy state. Simply setting the autoRefresh flag back to True with MGMap.setAutoRefresh does not refresh the map. For example: function selectAndZoomToPointObject(mgObj) { var map = getMap(); var sel = map.getSelection(); map.setAutoRefresh(false); // Prevent busy state from happening // when zoomSelected is called sel.clear(); sel.addObject(mgObj); map.zoomSelected(); map.setWidth(5, "KM"); map.setAutoRefresh(true); // Reset the autoRefresh flag map.refresh(); // Update the display } Handling Busy State and Map Refresh | 45