[mapguide-users] RE: parent.parent.parent.mapFrame - AJAX vs FUSION

Fraser Burgess fburgess at lakelandenergy.com
Wed Sep 16 09:08:16 EDT 2009


Thanks Brian and Chris.

 

Using the function GetParent() code below has solved my problem.

 

Cheers,

Fraser

 

 

From: mapguide-users-bounces at lists.osgeo.org
[mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of Berdel,
Brian
Sent: Wednesday, September 16, 2009 9:02 AM
To: MapGuide Users Mail List
Subject: [mapguide-users] RE: parent.parent.parent.mapFrame - AJAX vs
FUSION

 

If you want to add the reference to your fusion index page, add the
following to your aspx (task pane) page

 

function GetParent()

        {

            if (parent.Fusion) {

                return parent;

            } else if (parent.parent.Fusion) {

                return parent.parent;

            }

   }

 

Then you can call functions in the same way as before but substitute

 

GetParent().DigitizePoint(OnPointDigitized);

 

 

 

Brian Berdel

McMahon Associates, Inc.

p: 215.283.9444 x 260

www.mcmtrans.com

 

 

From: mapguide-users-bounces at lists.osgeo.org
[mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of Chris
Claydon
Sent: Tuesday, September 15, 2009 4:43 PM
To: MapGuide Users Mail List
Subject: [mapguide-users] RE: parent.parent.parent.mapFrame - AJAX vs
FUSION

 

I think you should be able to reference the MapGuideViewerAPI.js script
from your aspx page, and then just call DigitizePoint directly without
any window.top or parent references.

 

It should also be possible to add a reference to MapGuideViewerAPI.js to
the index.html file in the Fusion template you're using, and reference
it using window.top...

 

It's been a while since I've played around with this stuff, so someone
else may be able to provide specifics...

 

From: mapguide-users-bounces at lists.osgeo.org
[mailto:mapguide-users-bounces at lists.osgeo.org] On Behalf Of Fraser
Burgess
Sent: Tuesday, September 15, 2009 1:40 PM
To: MapGuide Users Mail List
Subject: [mapguide-users] parent.parent.parent.mapFrame - AJAX vs FUSION

 

Hi List,

 

I'm making steady progress with my project and learning many things
about MapGuide along the way thanks largely to the help from those on
this list - many thanks to those who have helped so far

 

>From what I can tell parent.parent.parent.mapFrame is how the map frame
is referenced from the task pane in the AJAX viewer.  I have been
reading posts about how this is referenced in Fusion and it seems the
MapGuideViewerAPI.js file has a bit of info.  Unfortunately I'm having a
bit if trouble putting the pieces together and was hoping that someone
here may steer me in the right direction.

 

In both AJAX and FUSION I'm working from the taskpane and using the
markup scripts that are part of the AJAX demo's and tutorials.

 

I assume I need to substitute either 'Fusion' or 'window.top.Fusion'
somehow for
'parent.parent.parent.mapFrame.DigitizePoint(OnPointDigitized);'. in my
script however I have yet to do this in such a way that it works.  I
keep getting 'Object doesn't support this property or method'.

 

So for example in my editmarkup.aspx code for example, I have the
following function which should be activated when I click the digitize
point button

 

            function AddPoint()

            {

                  SetDigitizeInfo(EDIT_POINT_HELP);

 
parent.parent.parent.mapFrame.DigitizePoint(OnPointDigitized);

            }

 

In Fusion this code gives an error 'parent.parent,parent.mapFrame' is
null or not an object

 

I see that in MapGuideViewerAPI.js

 

function DigitizePoint(handler) {

    if (handler) {

      var Fusion = window.top.Fusion;

      var mapWidget = Fusion.getWidgetById(mapWidgetId);

      var digitizer = new Fusion.Tool.Canvas.Point(mapWidget);

      digitizer.mouseUp = PointHandlers.prototype.mouseUp;

      Object.inheritFrom(digitizer, Fusion.Tool.Canvas.prototype, []);

      digitizer.initializeCanvas();

      var activeWidget = mapWidget.buttonSet.activeButton;

      mapWidget.buttonSet.setActiveButton(null);

      digitizer.handler = function() {

          handler.apply(null, arguments);

          activeWidget.setActive(true);

      }

      digitizer.activateCanvas();

      

      //add a listener to update the position of the features

      var mapWidget = Fusion.getWidgetById(mapWidgetId);

      mapWidget.registerForEvent(Fusion.Event.MAP_EXTENTS_CHANGED, 

        function(){

          digitizer.updatePx();

          digitizer.clearContext();

          digitizer.draw(digitizer.context);

        }

      );

    }

}

 

Thanks

Fraser

 

________________________________

Important notice to recipients:
Copies of documents that may be relied upon by you are limited to the
printed copies (also known as 'hard copies') that are signed and sealed
by the Engineer and/or Land Surveyor. Files in electronic formats, or
other types of information furnished by the Engineer and/or Land
Surveyor to you such as text, data or graphics are for your convenience
only. Any conclusions or information obtained or derived from such
electronic files will be at the user's sole risk. When transferring
documents in electronic formats, the Engineer and/or Land Surveyor makes
no representation as to long-term compatibility, usability, or
readability of the documents resulting from the use of software
application packages, operating systems or computer hardware differing
from those used by McMahon Associates, Inc. at the beginning of the
project.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapguide-users/attachments/20090916/91edb62b/attachment.html


More information about the mapguide-users mailing list