I am been developing and migrating a couple of .NET (c#) web tools to use 
MapGuide 2.1 based upon the BETA installer and I think I have identified a 
couple of bugs which did not occur in the 2.0.x version which may be worth a 
ticket. However I thought I would post them here first in case I am mistaken. 

First bug: the javascript function; FormatLocalizedDecimal (found in 
mainframe.templ) throws an error (object does not support this method) if you 
pass it a number which originated from a HTML form. e.g.

My html has something like (values  of hidden fields below can be set in html, 
js or serverside):

        <input id="MapExtentScale" type="hidden" runat="server"/>               
        <input id="MapX" type="hidden" runat="server"/>         
        <input id="MapY" type="hidden" runat="server"/> 

Then I have a javascript function on my web page like:

// function to set the current zoom level and also the x and y center
function setExtents() {

    if (viewerFrameSet[0].mapFrame.mapInit == true) {

        // find controls we need
        controlExtent = document.getElementById('MapExtentScale');
        controlX = document.getElementById('MapX');
        controlY = document.getElementById('MapY');

        // check they were found (if it is initial post they wont be)
        if (controlExtent != null && controlX != null && controlY != null) {

                extent = controlExtent.value;
                posX = controlX.value;
                posY = controlY.value;

                if (posX != "" && posY != "" && extent != "") {
                  viewerFrameSet[0].mapFrame.ZoomToView(posX, posY, extent, 
true);


        }// if

    } // if

}

This throws an error on the line:

var unlocalized = numberValue.toFixed(decimalPlaces);

in the function from mainframe.templ, FormatLocalizedDecimal becuase it 
considers the numberValue passed a string and this breaks the jquery function, 
toFixed. This did not happen in 2.0 so I was wondering if this was a bug caused 
by some other change? A temporary workaround to fix this is to subtract 0 from 
the number:

    numberValue = numberValue - 0;
    var unlocalized = numberValue.toFixed(decimalPlaces);

Second bug: After adjusting a layers definition xml via a web tool and updating 
the session and/or library by commiting the resource, when the web page reloads 
the map using the same session you see the error after you try and zoom in or 
out:

Error: mismatched tag. Expected: </meta>.
Source File: http://dias/mapguide/mapagent/mapagent.fcgi
Line: 6, Column: 3
Source Code:
</head>

Once you click on Initial Map View it fixes itself. Again this web tool worked 
fine in 2.0. I submit the adjusted xml doc via code such as:

        MgByteSource byteSource = getResourceByteSource(xmlDoc);
        MgResourceIdentifier resourceID = new 
MgResourceIdentifier(resourceName);
        resourceService.SetResource(resourceID, byteSource.GetReader(), null);

Any thoughts on these?

As a side point; 2.1 performance with rasters and tilling is superb. 
Congratulations to all those involved as it has really improved MapGuide and it 
now acts more like Google Maps / Multimap type apps when employed in a web page.

Thanks
Colin
1Spatial


-- 
View this message in context: 
http://n2.nabble.com/Couple-of-%28potential%29-bugs-in-MapGuide-2.1-API-AjaxViewer-tp2610344p2610344.html
Sent from the MapGuide Users mailing list archive at Nabble.com.

_______________________________________________
mapguide-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapguide-users

Reply via email to