[mapguide-users] Disable zoom and drag on one map, but not onother.

Bojan Franc at FER bojan.franc at fer.hr
Fri Nov 27 07:21:12 EST 2009


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
> 



More information about the mapguide-users mailing list