Even better news! Any word on when the 2.0 beta will be available? -Mark -----Original Message----- From: mapguide-users-boun...@lists.osgeo.org [mailto:mapguide-users-boun...@lists.osgeo.org] On Behalf Of Paul Spencer Sent: Friday, January 30, 2009 4:16 AM To: MapGuide Users Mail List Cc: Mike Adair Subject: Re: [mapguide-users] Fusion and Digitizing
Thanks guys ... the digitizing code has changed in the upcoming 2.0 release to use the OpenLayers vector library rather than our home- grown canvas implementation so we'll make sure there is a way to clean up after digitizing ... Mike, can you take a skim through this thread and make sure the new Vector implementation has a method for cleaning up, or implicitly cleans up if possible. Cheers Paul On 29-Jan-09, at 6:14 PM, Mark Pendergraft wrote: > thanks! > I'll take a look at it later tonight. > -Mark > > -----Original Message----- > From: mapguide-users-boun...@lists.osgeo.org > [mailto:mapguide-users-boun...@lists.osgeo.org] On Behalf Of Rodolfo > Moreno > Sent: Thursday, January 29, 2009 3:02 PM > To: mapguide-users@lists.osgeo.org > Subject: RE: [mapguide-users] Fusion and Digitizing > > > Hi Mark, I have gotten to clear the digitized polygons in FUSION > viewer > by > modifying the MapGuideViewerapi.js > > var polDigitizer; > function DigitizePolygon(handler) { > if (handler) { > var Fusion = window.top.Fusion; > var mapWidget = Fusion.getWidgetById(mapWidgetId); > var digitizer = new Fusion.Tool.Canvas.Polygon(mapWidget); > digitizer.mouseDown = MultiPointHandlers.prototype.mouseDown; > digitizer.mouseMove = MultiPointHandlers.prototype.mouseMove; > digitizer.dblClick = MultiPointHandlers.prototype.dblClick; > Object.inheritFrom(digitizer, Fusion.Tool.Canvas.prototype, []); > digitizer.handler = handler; > digitizer.activateCanvas(); > > polDigitizer = digitizer; > > //add a listener to update the position of the features > var mapWidget = Fusion.getWidgetById(mapWidgetId); > mapWidget.registerForEvent(Fusion.Event.MAP_EXTENTS_CHANGED, > extendEvtResponse ); > } > } > > function extendEvtResponse(){ > var digitizer = polDigitizer; > digitizer.updatePx(); > digitizer.clearContext(); > digitizer.draw(digitizer.context); > } > > function clearPol(){ > polDigitizer.clearContext(); > var Fusion = window.top.Fusion; > var mapWidget = Fusion.getWidgetById(mapWidgetId); > mapWidget.deregisterForEvent(Fusion.Event.MAP_EXTENTS_CHANGED, > extendEvtResponse); > polDigitizer.deactivateCanvas(); > > } > > In your main page you must call to clearPol() function in order to > clear > the > digitized polygon. For the other shapes I guess that the logic is the > same. > The above code only clears the last polygon digitized. It's > necessary to > manage an array of digitizers for controlling all digitized > polygons. I > haven't had time for trying it. > > I have tested with mapguide 2.0.1 with FUSION 1.0.6 in IE7 and FF2 > maybe you can improve it. > > Regards, > > > GordonL wrote: >> >> Hi Mark, >> I know what you mean about the sticky digitizing... I was told to >> look > at >> the >> resetCanvas function in the Measure.js file to get rid of that > leftover >> digitize graphics...but I haven't tried it yet... >> >> gordon >> >> >> Mark Pendergraft wrote: >>> >>> I was in no way implying the wheel should be reinvented, in fact the >>> code I posted was an example of how to use the MapGuideViewerAPI.js >>> supplied DigitizePolygon(handler) function that you referred to. >>> >>> I did say that I would like to see some method to clear the >>> digitized >>> shapes after the function's handler has been called. In MGOS 1.2 > after >>> a polygon was digitized, it was destroyed. In MGOS 2 with Fusion > 1.1, >>> the polygon stays on the map until the user closes their browser. >>> >>> -Mark P. >>> >>> -----Original Message----- >>> From: mapguide-users-boun...@lists.osgeo.org >>> [mailto:mapguide-users-boun...@lists.osgeo.org] On Behalf Of GordonL >>> Sent: Thursday, January 29, 2009 1:20 PM >>> To: mapguide-users@lists.osgeo.org >>> Subject: RE: [mapguide-users] Fusion and Digitizing >>> >>> >>> You know, you really do not need to reinvent the wheel, if you have >>> already >>> built a lot of code with the Basic Web Layouts. Did you know that >>> Fusion >>> supports some retro digitizing methods? >>> For example, I put the following in an INVOKESCRIPT in the Flexible > Web >>> Layout: >>> >>> top.parent.DigitizePoint(top.OnPointDigitized); >>> >>> I also have the OnPointDigitized in a JS file attached to the main >>> frame/window. So I reuse my code for both FUSION and Basic Web >>> Layouts... >>> >>> Just check out the functions in the MapGuideViewerApi.js in the >>> /www/fusion/MapGuide/ folder... >>> They include: >>> Refresh() >>> SetSelectionXML(selectionXml) >>> ZoomToView(x, y, scale, refresh) >>> DigitizePoint(handler) >>> DigitizeLine(handler) >>> DigitizeLineString(handler) >>> DigitizeRectangle(handler) >>> DigitizePolygon(handler) >>> >>> They work just like the classic MapGuide Viewer API...pretty sweet. >>> >>> gordon >>> >>> >>> >>> >>> Mark Pendergraft wrote: >>>> >>>> Absolutely. >>>> My biggest beef with digitizing in Fusion is that when you digitize > an >>>> object (point/polygon/etc.) it stays on the map. The existing >>> functions >>>> don't have a clear method to remove the digitized object, and my >>>> programming skills aren't good enough that I want to mess with it. >>>> >>>> It's very simple, >>>> Add a reference to MapGuideViewerApi.js and call DigitizePolygon() >>>> >>>> The DigitizePolygon function requires that you pass it a handler >>>> >>>> Something similar to the following: >>>> >>>> DigitizePolygon(CreateJobByPolygon); >>>> >>>> function CreateJobByPolygon(polygon) { >>>> var geomText = polygon.Count; >>>> for (var i = 0; i < polygon.Count; i++){ >>>> geomText += "," + polygon.Point(i).X + "," + >>> polygon.Point(i).Y; >>>> } >>>> Fusion.getWidgetById('Map').setCursor('auto'); >>>> // here you would send your geomText to a web service, or aspx page >>>> that would turn the coordinates into a linear ring >>>> // and then a polygon from there. The geomText variable (in >>>> this >>>> particular situation) evaluates to something similar to >>>> // 3,5000.00,5000.00,5050.00,5050.00,5100.00,5100.00 >>>> } >>>> >>>> >>>> Of course you can format the way the coordinates are sent to your >>>> application any way you want. >>>> >>>> I would also recommend calling the DigitizePolygon() function from > an >>>> InvokeScript() widget, as I had some problems when I tried to > actually >>>> create a widget and call it from there. Also, I prefer to change >>>> my >>>> cursor when the widget is activated, you can see I put it back to >>> 'auto' >>>> in the CreateJobByPolygon() function, but I like to set it to >>>> 'crosshair' before the DigitizePolygon function is called. >>>> >>>> -Mark P. >>>> >>>> -----Original Message----- >>>> From: mapguide-users-boun...@lists.osgeo.org >>>> [mailto:mapguide-users-boun...@lists.osgeo.org] On Behalf Of Stefan >>>> Dalakov >>>> Sent: Friday, January 23, 2009 12:35 PM >>>> To: MapGuide Users Mail List >>>> Subject: [mapguide-users] Fusion and Digitizing >>>> >>>> Hi all, >>>> From what I read here, should I conclude that digitizing functions > in >>> >>>> Fusion are not yet fully supported ? >>>> I need to digitize a polygon on the map and save it permanently. I >>> have >>>> this working with AJAX viewer, but would like to port it to Fusion >>>> Has anyone succeeded to do this ? >>>> >>>> Stefan Dalakov >>>> >>>> >>>> _______________________________________________ >>>> mapguide-users mailing list >>>> mapguide-users@lists.osgeo.org >>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users >>>> _______________________________________________ >>>> mapguide-users mailing list >>>> mapguide-users@lists.osgeo.org >>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users >>>> >>>> >>> >>> -- >>> View this message in context: >>> http://n2.nabble.com/Fusion-and-Digitizing-tp2205560p2241352.html >>> Sent from the MapGuide Users mailing list archive at Nabble.com. >>> >>> _______________________________________________ >>> mapguide-users mailing list >>> mapguide-users@lists.osgeo.org >>> http://lists.osgeo.org/mailman/listinfo/mapguide-users >>> _______________________________________________ >>> mapguide-users mailing list >>> mapguide-users@lists.osgeo.org >>> http://lists.osgeo.org/mailman/listinfo/mapguide-users >>> >>> >> >> > > > ----- > Rodolfo Moreno > CivilEng > > -- > View this message in context: > http://n2.nabble.com/Fusion-and-Digitizing-tp2205560p2241865.html > Sent from the MapGuide Users mailing list archive at Nabble.com. > > _______________________________________________ > mapguide-users mailing list > mapguide-users@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/mapguide-users > _______________________________________________ > mapguide-users mailing list > mapguide-users@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/mapguide-users _______________________________________________ mapguide-users mailing list mapguide-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapguide-users _______________________________________________ mapguide-users mailing list mapguide-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapguide-users