[mapguide-users] AJAX versus DWF problem
Sebastian NICIU
nick_sebastyan at yahoo.com
Fri Oct 17 05:29:38 EDT 2008
Hello mapguide users, I've been reading the DWF viewer API and still didn't find a solution of how to find out when a map has loaded using the DWF viewer. For the AJAX viewer it works like a charm.Here is some sample code using the AJAX viewer :In the first page I have :<%@include file="utilityfunctionsMapguide.jsp" %>
<%
/* Initialize a JSP session and register a variable to hold the session id,
then initialize the Web Extensions, and connect to the site, and create a session. */
try {
createSessionMapguide(request);
} catch (Throwable t) {
response.sendRedirect("errorPageMapguide.jsp?ERROR=" + t.getMessage());
}
%>
<html>
<head>
<script type="text/javascript">
var timeout;
function executeActions() {
if (document.getElementById("viewerFrame").readyState == "complete") {
clearTimeout(timeout);
var tempWin = window.open('ajaxviewerMapguideScriptFrame.jsp?SESSION=<%=sessionId%>&WEBLAYOUT=<%=webLayout%>&GUID=<%=GUID%>', 'scriptFrame', '');
} else {
timeout = setTimeout("executeActions()", 500);
}
}
</script>
</head>
<body marginheight="0" marginwidth="0" onload=" <%
if (GUID != null) {%>
executeActions()
<%}%>">
<iframe id="viewerFrame" name="ify" width="100%" height="100%" frameborder=0 scrolling="no"
src="/mapguide/mapviewerajax/?SESSION=<%=sessionId%>&WEBLAYOUT=<%=webLayout%>"/>
</body>
</html>
As you can see here when the iframe has loaded I open a new jsp page <ajaxviewerMapguideScriptFrame.jsp> where I test if the map has loadedThe <ajaxviewerMapguideScriptFrame.jsp> page has the following content:<html>
<head>
<%
String sessionId = request.getParameter("SESSION");
String webLayout = request.getParameter("WEBLAYOUT");
String GUID = request.getParameter("GUID");
%>
<script type="text/javascript">
var t;
function onPageLoad() {
if (parent.mapFrame.mapInit) {
clearTimeout(t);
window.open('ajaxviewerMapguideJS.jsp?SESSION=<%=sessionId%>&WEBLAYOUT=<%=webLayout%>&GUID=<%=GUID%>', 'scriptFrame', '');
} else {
t = setTimeout("onPageLoad()", 500);
}
}
</script>
</head>
<body onload="onPageLoad()">
</body>
</html>
From what I have read from the DWF API I have to use something like this<object id="ADViewer"
classid="clsid:A662DA7E-CCB7-4743-B71A-D817F6D575DF"
border="1" width="400" height="400" VIEWASTEXT>
<param name="Src"
value="http://download.autodesk.com/global/dwf/gallery/files/085825-1-zobell_residence.dwf">
</object>
and this<script type="text/javascript" for="ADViewer" event="OnEndLoadItem(bstrItemType,vData,vResult)">
if (bstrItemType == 'DOCUMENT')
{
//Indicates the document is finished loading
ListSections();
}
</script>
ok, but how do I implement this into my code, where should I put it, because I have an iframe tag that uses a webLayout not a dwf file ?
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapguide-users/attachments/20081017/39ef6e22/attachment.html
More information about the mapguide-users
mailing list