<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:v = 
"urn:schemas-microsoft-com:vml" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word" xmlns:st1 = 
"urn:schemas-microsoft-com:office:smarttags"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.5730.11" name=GENERATOR><!--[if !mso]>
<STYLE>v\:* {
        BEHAVIOR: url(#default#VML)
}
o\:* {
        BEHAVIOR: url(#default#VML)
}
w\:* {
        BEHAVIOR: url(#default#VML)
}
.shape {
        BEHAVIOR: url(#default#VML)
}
</STYLE>
<![endif]--><o:SmartTagType 
namespaceuri="urn:schemas-microsoft-com:office:smarttags" 
name="PersonName"></o:SmartTagType><!--[if !mso]>
<STYLE>st1\:* {
        BEHAVIOR: url(#default#ieooui)
}
</STYLE>
<![endif]-->
<STYLE>@font-face {
        font-family: Tahoma;
}
@font-face {
        font-family: Verdana;
}
@page Section1 {size: 612.0pt 792.0pt; margin: 72.0pt 90.0pt 72.0pt 90.0pt; }
font-face {
        FONT-FAMILY: Verdana
}
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.emailstyle17 {
        COLOR: windowtext; FONT-FAMILY: Arial
}
SPAN.EmailStyle18 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle19 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle20 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle21 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle23 {
        COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal-reply
}
DIV.Section1 {
        page: Section1
}
</STYLE>
</HEAD>
<BODY lang=EN-US vLink=purple link=blue>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN 
class=338052816-08122006>It makes sense to me to expose these additional 
objects.</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN 
class=338052816-08122006></SPAN></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN 
class=338052816-08122006>Anyone else have any insight or preference one way or 
another?&nbsp; There doesn't appear to be a&nbsp;functional barrier 
here;&nbsp;it just&nbsp;feels a bit odd&nbsp;to me that there are properties of 
an object that are only available through an HTTP call.</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN 
class=338052816-08122006></SPAN></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN 
class=338052816-08122006>Are there any other objects that are hidden from the 
Web API that could benefit from exposure?</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN 
class=338052816-08122006></SPAN></FONT><FONT face=Arial color=#0000ff 
size=2><SPAN class=338052816-08122006></SPAN></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN 
class=338052816-08122006>Jason</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff 
size=2></FONT>&nbsp;</DIV>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> Trevor Wekel<BR><B>Sent:</B> Friday, 
December 08, 2006 08:23<BR><B>To:</B> Jason Birch; 
users@mapguide.osgeo.org<BR><B>Subject:</B> RE: [mapguide-users] MgTileService - 
GetTile - Cannot establish connection<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV dir=ltr align=left><SPAN class=623210516-08122006><FONT face=Arial 
color=#0000ff size=2>Hi Jason,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=623210516-08122006><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=623210516-08122006><FONT face=Arial 
color=#0000ff size=2>This was a deliberate exclusion.&nbsp; There are a number 
of codependant state variables in MgMap&nbsp;- like center, scale, and 
mapExtent.&nbsp; Allowing set access to any one variable would invalidate the 
others.&nbsp; There are two other objects in C++ - MgHtmlController and 
MgDwfController which correctly manage the codependence.&nbsp; The mapagent uses 
these classes.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=623210516-08122006><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=623210516-08122006><FONT face=Arial 
color=#0000ff size=2>There are use cases where the controllers would be useful 
for manipulating MgMap state.&nbsp; They could be exposed publically but the 
documentation would need to be updated and the exposed methods would have to be 
reviewed.&nbsp; Some of the methods&nbsp;are no longer in use and should be 
removed.&nbsp; </FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=623210516-08122006><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=623210516-08122006><FONT face=Arial 
color=#0000ff size=2>I'm sure other members of the dev community and the PSC 
would like to discuss this further.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=623210516-08122006><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=623210516-08122006><FONT face=Arial 
color=#0000ff size=2>Thanks,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=623210516-08122006><FONT face=Arial 
color=#0000ff size=2>Trevor</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=623210516-08122006><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=623210516-08122006><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> Jason Birch 
[mailto:Jason.Birch@nanaimo.ca] <BR><B>Sent:</B> Thursday, December 07, 2006 
4:54 PM<BR><B>To:</B> users@mapguide.osgeo.org<BR><B>Subject:</B> RE: 
[mapguide-users] MgTileService - GetTile - Cannot establish 
connection<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV dir=ltr align=left><SPAN class=296494923-07122006><FONT face=Arial 
color=#0000ff size=2>I'm surprised that there are methods which are available to 
the MapAgent but not the APIs.&nbsp; </FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=296494923-07122006><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=296494923-07122006><FONT face=Arial 
color=#0000ff size=2>Was this a case of deliberate exclusion, or not enough time 
to get everything in?&nbsp; I can see there being some arguments for not 
exposing these methods (only need them for rendering, etc)&nbsp;but there are 
apparently going to be some use cases for accessing them :)</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=296494923-07122006></SPAN><SPAN 
class=296494923-07122006><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=296494923-07122006><FONT face=Arial 
color=#0000ff size=2>Jason</FONT></SPAN></DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma><FONT size=2><B>From:</B> Walt Welton-Lair<SPAN 
class=296494923-07122006><FONT face=Arial 
color=#0000ff>&nbsp;<BR></FONT></SPAN><B>Sent:</B> Thursday, December 07, 2006 
15:47<BR><B>To:</B> users@mapguide.osgeo.org<BR><B>Subject:</B> RE: 
[mapguide-users] MgTileService - GetTile - Cannot establish 
connection<BR></FONT></FONT><BR></DIV>
<DIV></DIV>
<DIV dir=ltr align=left>
<DIV dir=ltr align=left><SPAN class=851280623-07122006><FONT face=Arial 
color=#0000ff size=2>Sorry about that -&nbsp;I forgot that the Set methods 
weren't exposed.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=851280623-07122006><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=851280623-07122006><FONT face=Arial 
color=#0000ff size=2>As Alain mentioned,&nbsp;<SPAN 
class=655101823-07122006>currently </SPAN>the only way to&nbsp;update the view 
is&nbsp;<SPAN class=655101823-07122006>via </SPAN>certain HTTP requests.&nbsp; 
GETMAP / GETMAPUPDATE / GETPLOT are used&nbsp;<SPAN class=655101823-07122006>in 
the context of&nbsp;</SPAN>DWFViewer, while GETMAPIMAGE and GETVISIBLEMAPEXTENT 
are used&nbsp;<SPAN class=655101823-07122006>in the context of</SPAN> AJAX 
Viewer.&nbsp; You can include additional parameters with&nbsp;<SPAN 
class=655101823-07122006>any of </SPAN>these&nbsp;requests to update view 
related information:</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=851280623-07122006><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=851280623-07122006><FONT face=Arial 
color=#0000ff 
size=2>&nbsp;&nbsp;&nbsp;&nbsp;SETDISPLAYDPI=&lt;dpi&gt;</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=851280623-07122006><FONT face=Arial 
color=#0000ff 
size=2>&nbsp;&nbsp;&nbsp;&nbsp;SETDISPLAYWIDTH=&lt;width&gt;</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=851280623-07122006><FONT face=Arial 
color=#0000ff 
size=2>&nbsp;&nbsp;&nbsp;&nbsp;SETDISPLAYHEIGHT=&lt;height&gt;</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=851280623-07122006><FONT face=Arial 
color=#0000ff 
size=2>&nbsp;&nbsp;&nbsp;&nbsp;SETVIEWSCALE=&lt;scale&gt;</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=851280623-07122006><FONT face=Arial 
color=#0000ff size=2>&nbsp;&nbsp;&nbsp;&nbsp;S</FONT></SPAN><SPAN 
class=851280623-07122006><FONT face=Arial color=#0000ff 
size=2>ETVIEWCENTERX=&lt;centerX&gt;</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=851280623-07122006><FONT face=Arial 
color=#0000ff 
size=2>&nbsp;&nbsp;&nbsp;&nbsp;SETVIEWCENTERY=&lt;centerY&gt;<BR></FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=851280623-07122006><SPAN 
class=851280623-07122006><FONT face=Arial><FONT color=#0000ff><FONT size=2>While 
you can use&nbsp;<SPAN class=655101823-07122006>a&nbsp;</SPAN><SPAN 
class=655101823-07122006>viewer&nbsp;</SPAN>to&nbsp;<SPAN 
class=655101823-07122006>make these requests for you</SPAN>, you&nbsp;<SPAN 
class=655101823-07122006>can make the HTTP&nbsp;r</SPAN>equests&nbsp;<SPAN 
class=655101823-07122006>yourself and get the same effect.&nbsp; 
</SPAN></FONT></FONT></FONT></SPAN></SPAN><SPAN class=851280623-07122006><SPAN 
class=851280623-07122006><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN 
class=655101823-07122006>You could write an application 
that:</SPAN></FONT></FONT></FONT></SPAN></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=851280623-07122006><SPAN 
class=851280623-07122006><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN 
class=655101823-07122006></SPAN></FONT></FONT></FONT></SPAN></SPAN>&nbsp;</DIV>
<DIV dir=ltr align=left><SPAN class=851280623-07122006><SPAN 
class=851280623-07122006><FONT size=+0><FONT color=#0000ff><FONT size=2><SPAN 
class=655101823-07122006></SPAN></FONT></FONT></FONT></SPAN></SPAN><SPAN 
class=851280623-07122006><SPAN class=655101823-07122006><FONT face=Arial 
color=#0000ff size=2>1) creates a session</FONT></SPAN></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=851280623-07122006><SPAN 
class=655101823-07122006><FONT face=Arial color=#0000ff size=2>2) creates an 
MgMap for your MapDefinition that is part of your 
session</FONT></SPAN></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=851280623-07122006><SPAN 
class=655101823-07122006><FONT face=Arial color=#0000ff size=2>3) 
m</FONT></SPAN></SPAN><SPAN class=851280623-07122006><SPAN 
class=655101823-07122006><FONT face=Arial color=#0000ff size=2>akes one of the 
HTTP requests above</FONT></SPAN></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=851280623-07122006><SPAN 
class=655101823-07122006><FONT face=Arial color=#0000ff size=2>&nbsp;&nbsp; 
&nbsp;- GETVISIBLEMAPEXTENT is the simplest</FONT></SPAN></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=851280623-07122006><SPAN 
class=655101823-07122006><FONT face=Arial color=#0000ff size=2>&nbsp;&nbsp; 
&nbsp;-&nbsp;include the SETVIEWSCALE parameter with the request to set the 
scale you want</FONT></SPAN></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=851280623-07122006><SPAN 
class=655101823-07122006><FONT face=Arial color=#0000ff size=2>4) makes calls 
to&nbsp;GetTile</FONT></SPAN></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=851280623-07122006><SPAN 
class=655101823-07122006><FONT face=Arial color=#0000ff size=2>5) repeats steps 
3 and 4 for each desired scale</FONT></SPAN></SPAN></DIV><SPAN 
class=851280623-07122006>
<DIV dir=ltr align=left>
<DIV dir=ltr align=left><FONT face=Arial><FONT color=#0000ff size=2><SPAN 
class=851280623-07122006></SPAN></FONT></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT size=+0><FONT face=Arial color=#0000ff 
size=2><SPAN class=851280623-07122006><SPAN class=655101823-07122006>For steps 1 
and 2&nbsp;there's should be sample code under the MgMap 
documentation.</SPAN></SPAN></FONT></FONT></DIV>
<DIV dir=ltr align=left><FONT size=+0><FONT face=Arial color=#0000ff 
size=2><SPAN class=851280623-07122006><SPAN 
class=655101823-07122006></SPAN></SPAN></FONT></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT size=+0><FONT face=Arial color=#0000ff 
size=2><SPAN class=851280623-07122006><SPAN class=655101823-07122006>For step 3 
something like .NET's HttpRequest class probably works.&nbsp; Just make the 
request to your MG server, e.g.</SPAN></SPAN></FONT></FONT></DIV>
<DIV dir=ltr align=left><FONT size=+0><FONT face=Arial color=#0000ff 
size=2><SPAN class=851280623-07122006><SPAN 
class=655101823-07122006>http:://localhost/mapguide/mapagent?</SPAN></SPAN></FONT></FONT><FONT 
size=+0><FONT face=Arial color=#0000ff size=2><SPAN 
class=851280623-07122006><SPAN 
class=655101823-07122006>OPERATION=GETVISIBLEMAPEXTENT&amp;VERSION=1.0.0&amp;SESSION=&lt;sessionId&gt;&amp;MAPNAME=&lt;mapName&gt;&amp;SETVIEWSCALE=&lt;scale&gt;</SPAN></SPAN></FONT></FONT></DIV>
<DIV dir=ltr align=left><FONT size=+0><FONT face=Arial color=#0000ff 
size=2><SPAN class=851280623-07122006><SPAN 
class=655101823-07122006></SPAN></SPAN></FONT></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT size=+0><FONT face=Arial color=#0000ff 
size=2><SPAN class=851280623-07122006><SPAN class=655101823-07122006>Here, 
mapName is the name from the MgMap.</SPAN></SPAN></FONT></FONT></DIV>
<DIV dir=ltr align=left><FONT size=+0><FONT face=Arial color=#0000ff 
size=2><SPAN class=851280623-07122006><SPAN 
class=655101823-07122006></SPAN></SPAN></FONT></FONT>&nbsp;</DIV>
<DIV dir=ltr align=left><FONT size=+0><FONT face=Arial color=#0000ff 
size=2><SPAN class=851280623-07122006><SPAN 
class=655101823-07122006>Walt</SPAN></SPAN></FONT></FONT></SPAN></DIV></DIV></DIV></BODY></HTML>