[mapguide-users] Disable zoom and drag on one map,
but not onother.
Kenneth Skovhede, GEOGRAF A/S
ks at geograf.dk
Mon Nov 30 03:02:51 EST 2009
AFAIK, the version you have written should work with sessionId.
Regards, Kenneth Skovhede, GEOGRAF A/S
Bojan Franc @ FER skrev:
> Thx again.
> I managet to get it working with USERNAME and PASSWORD...
> ---------------------------------------------------------
> <img src="/mapguide/mapagent/mapagent.fcgi?
> OPERATION=GETMAPIMAGE&
> VERSION=1.0.0&
> USERNAME=Anonymous&
> PASSWORD=&
> LOCALE=en&
> CLIENTAGENT=MapGuide+Developer&
> MAPDEFINITION=Library%3A%2F%2FDemo%2FMaps%2Demo.MapDefinition&
> FORMAT=PNG&
> ... etc. parameters...
> " />
> ---------------------------------------------------------
>
> But still, would like to use SESSION if possible.
> I initialize MGOS WebTier...
> Create one frame with IMG tag with getMapImage...
> And one with complete weblayout.
> I suppose I dont initialize the resource needed for the mapAgent to
> work, am I right?
> This is my PHP test page...
> ---------------------------------------------------------
> <?php
> require_once('common.php');
> try
> {
> // Initialize the web extensions,
> MgInitializeWebTier ($webconfigFilePath);
> // Connect to the site server and create a session
> $userInfo = new MgUserInformation("Anonymous", "");
> $site = new MgSite();
> $site->Open($userInfo);
> }
> catch (MgException $e)
> {
> echo "Could not connect to the MapGuide site server. Please contact
> the MapGuide site administrator.";
> die();
> }
> try
> {
> $sessionId = $site->CreateSession();
> $siteConnection = new MgSiteConnection();
> $siteConnection->Open(new MgUserInformation($sessionId));
> $resourceService =
> $siteConnection->CreateService(MgServiceType::ResourceService);
> $mdResourceId = new
> MgResourceIdentifier("Library://Demo/Maps/Demo.MapDefinition");
> $mapName = $mdResourceId->GetName();
> // Define some constants
> $webLayout = "Library://Demo/Layouts/Demo.WebLayout";
> $title = "Demo";
> }
> catch (MgException $e)
> {
> echo "ERROR: " . $e->GetMessage("eng") . "\n";
> echo $e->GetStackTrace("eng") . "\n";
> }
> ?>
> <html>
> <frameset rows="60%,40%">
> <frame width="100%" height="96%" frameborder="0" name="main_weblayout"
> src="/mapguide/mapviewerajax/?
> SESSION=<?= $sessionId ?>&
> MAPNAME=<?= $mapName ?>&
> WEBLAYOUT=<?= $webLayout ?>"
> />
> <frame width="100%" height="96%" frameborder="0" name="main_weblayout2"
> src="/mapguide/mapagent/mapagent.fcgi?
> OPERATION=GETMAPIMAGE&
> VERSION=1.0.0&
> SESSION=<?= $sessionId ?>&
> MAPNAME=<?= $mapName ?>&
> FORMAT=PNG&
> ... etc. parameters...
> />
> </frameset>
> </html>
> ---------------------------------------------------------
>
>
>
>
> ----- Original Message ----- From: "Kenneth Skovhede, GEOGRAF A/S"
> <ks at geograf.dk>
> To: "MapGuide Users Mail List" <mapguide-users at lists.osgeo.org>
> Sent: Friday, November 27, 2009 12:35 PM
> Subject: Re: [mapguide-users] Disable zoom and drag on one map,but not
> onother.
>
>
>> I don't think the information about the two avalible methods are
>> correct.
>> Generally, for a MapGuide call, you can either supply SESSION= or
>> USERNAME=&PASSWORD=
>> The purpose of this is authentication, and either works (I think
>> APPLYPACKAGE is different?).
>>
>> You cannot use MAPNAME because that requires that you have
>> pre-created a runtime map in the
>> given session, and there is no HTTP interface to create or manipulate
>> a runtime map.
>>
>> Try tagging a valid SESSION= parameter to the GETMAPIMAGE call, and
>> it should work well.
>> Alternatively try using USERNAME=Anonymous&PASSWORD=
>>
>> Regards, Kenneth Skovhede, GEOGRAF A/S
>>
>>
>>
>> Bojan Franc @ FER skrev:
>>> Thx for help.
>>>
>>> I am trying to use getMapImage now, it does exactly what I need.
>>> I just cant get it working with SESSION and MAP parameters.
>>>
>>> It says...
>>> Session Id and Map Name
>>> ... or ...
>>> Locale and Client Agent and Map Definition.
>>>
>>> It works with the second set of parameters, but requires a login
>>> each time I open the page.
>>>
>>> With Session Id and Map Name I get an error...
>>>
>>> MgResourceNotFoundException
>>> Resource was not found:
>>> Session:034a83a2-bd61-102c-8000-000c2993e1ac_en_7F0000010AFC0AFB0AFA//Demo.Map
>>>
>>>
>>> I am using the same variables for calling the WebLayout of my
>>> detailed map, and it works fine.
>>> I also tried to copy/paste session and map name into MapAgent
>>> interface, but get the same error.
>>>
>>> My variable shows me MapName "Demo", and the error says "Demo.Map".
>>> It added the ".Map" at the end of the string.
>>>
>>> Where can I read more about getMapImage and similar API functions? I
>>> was looking for it in MapGuide Web API Reference and MapGuide Viewer
>>> API Reference but was unable to find anything related.
>>>
>>> Regards,
>>> Bojan Franc
>>>
>>>
>>> ----- Original Message ----- From: "Kenneth Skovhede, GEOGRAF A/S"
>>> <ks at geograf.dk>
>>> To: "MapGuide Users Mail List" <mapguide-users at lists.osgeo.org>
>>> Sent: Thursday, November 19, 2009 8:56 AM
>>> Subject: Re: [mapguide-users] Disable zoom and drag on one map, but
>>> not onother.
>>>
>>>
>>>> For the "static" map, you could simply use the GETMAPIMAGE call,
>>>> and then manually control layer visibility.
>>>>
>>>> Basically:
>>>>
>>>> 1) On startup, create the MG session and runtime map
>>>> 2) Create a html page with an <img> pointing to:
>>>> http://servername/mapaguide/mapagent/mapagent.fcgi?OPERATION=GETMAPIMAGE&SESSION=<sessionid>&MAPNAME=<runtimemapname>&seq=<random
>>>> number>
>>>> 3) Start a javascript that reloads the <img> with a new random
>>>> number each 60 seconds
>>>> 4) Provide controls to turn on/off layers and toggle these in
>>>> server code
>>>>
>>>> If you need a full viewer (eg, tile support, etc.), you can use
>>>> OpenLayers to display the map,
>>>> and disable the navigation controls. It would be a little bit
>>>> difficult to use a standard WebLayout and disable all
>>>> mouse controls.
>>>>
>>>> *) The GETMAPIMAGE call probably requires more parameters, check
>>>> the test page:
>>>> http://localhost/mapguide/mapagent/index.html
>>>>
>>>> Regards, Kenneth Skovhede, GEOGRAF A/S
>>>>
>>>>
>>>>
>>>> BojanFranc at FER skrev:
>>>>> Hi,
>>>>>
>>>>> I need to make 2 maps. One windowed (small) with no ability to
>>>>> zoom or move.
>>>>> The other full screen map with all the features MapGuide has.
>>>>>
>>>>> First map should be a static map refreshing every 1 minute but
>>>>> users should
>>>>> not be able to zoom on it or move. It should be a "static" map.
>>>>> What the
>>>>> users should be able to do is to enable and disable some layers on
>>>>> the map,
>>>>> nothing more. It's like a "demo" map for unregistered users.
>>>>>
>>>>> The second map will be available to registered users displayed at
>>>>> full
>>>>> screen with all Mapguide features enable.
>>>>>
>>>>> Can it be done? If so, any help is appreciated.
>>>>>
>>>>> I am using MGOS 2.1 with PHP.
>>>>>
>>>>> Regards
>>>>>
>>>> _______________________________________________
>>>> mapguide-users mailing list
>>>> mapguide-users at lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>>>
>>>
>>> _______________________________________________
>>> mapguide-users mailing list
>>> mapguide-users at lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>> _______________________________________________
>> mapguide-users mailing list
>> mapguide-users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapguide-users
>>
>
> _______________________________________________
> mapguide-users mailing list
> mapguide-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapguide-users
More information about the mapguide-users
mailing list