[mapguide-users] Create map in the session

gingerbbm stuart.jones at jacobs.com
Thu Jan 15 10:42:18 EST 2009


Dear all

I want to be able to issue the following kind of query from a web
application:

http://.../mapguide2009/mapagent/mapagent.fcgi?GEOMETRY=POLYGON((3 2,4 2,4
3,3 3,3
2))&MAXFEATURES=1&OPERATION=QUERYMAPFEATURES&PERSIST=0&SELECTIONVARIANT=INTERSECTS&MAPNAME=...&SESSION=...&VERSION=1.0.0

For this to work I need a session ID and map name, so I'm trying to create a
map in the session on-the-fly, as follows:

	<?php
	//
	// Vital includes.
	//
	include "constants.php";
	include "common.php";
	include "../fusion/mapguide/php/Utilities.php";

	//
	// Usual initialisation step.
	//
	InitializeWebTier();

	//
	// Obtain a new session ID for this anonymous user, use it to set up
	// a new site connection and use that to create a resource service.
	//
	$site = new MgSite();
	$site->Open(new MgUserInformation("Administrator", "admin"));

	$sessionId = $site->CreateSession();

	$siteConnection = new MgSiteConnection();
	$siteConnection->Open(new MgUserInformation($sessionId));

	$resourceService =
$siteConnection->CreateService(MgServiceType::ResourceService);
	$mdResourceId = new
MgResourceIdentifier("Library://Maps/mapname.MapDefinition");

	$mapName = $mdResourceId->GetName();

	$map = new MgMap();
	$map->Create($resourceService, $mdResourceId, $mapName);

	echo "Name of map:" . $map->GetName() . "<br/>";
	echo "Session ID of map:" . $map->GetSessionId() . "<br/>";
	echo "Object ID: " . $map->GetObjectId() . "<br/>";
	echo "Session ID: " . $sessionId . "<br/>";

	$mapId = new MgResourceIdentifier("Session:$sessionId//$mapName." .
MgResourceType::Map);
	$map->Save($resourceService, $mapId);

	$layerCollection = $map->GetLayers();
	for ($i = 0; $i < $layerCollection->GetCount(); $i++)
	{
		$layer = $layerCollection->GetItem($i);
		echo "      layer #" . ($i + 1) . ": " . $layer->GetName() . "<br/>";
	}
	?>

Although this returns a list of layers as expected, the value returned by
$map->GetSessionId() is blank and I suspect this has something to with why,
having loaded this page, I get the following in the map agent when I submit
a GetResourceContent request on "Session:...//mapname.MapDefinition":

Resource was not found: Session:...//mapname.MapDefinition

What am I missing?

Thanks
Stuart

-- 
View this message in context: http://n2.nabble.com/Create-map-in-the-session-tp2163117p2163117.html
Sent from the MapGuide Users mailing list archive at Nabble.com.



More information about the mapguide-users mailing list