Manifold IMS, doing something else
In the previous post We saw how to do to create an IMS service, mounted on the template Scullion Basic that comes by default.
Now let's see how to make interaction between one and another map using the hyperlinks option and some code. The project is based on a map of the United States, with theming by regions, similar to what can happen when navigating from an index sectorization or quadrant maps of different scale.
Data
- 1 index map called states.map, composed only of the component, it has its own config.txt
- 1 map for each region with its own map, this has an additional map to its drawing and a label, then it is published with its own config.txt
- 1 asp by default, which shows the index
- 1 asp called map, which is the template for the most mapped; this one checks which is the map and config that must deplete
- 1 asp to display the table on the right, which will be shown activate the command "info"
- 1 style template named default.css
- 1 folder where the map frame images are
If we see the graph, the publication of each one of the regions is done by creating an individual map, with its label and theme. But when sending it to publish they have chosen the same template but with an individual config.
At the end of the case, the cofig contains a basic text that defines the component, file to open and other values.
component = Counties Mtn Map
copyright = Copyright (C) 2005. All rights reserved.
cx = 600
cy = 400
file = C: InetpubWwwrootMultiMapCountiesMtn.map
hyperlinks = true
imageDesc = false
logo = true
subtitle = Click on the link above to return to the main US map.
title = Mountains
Functionality
What is sought is that from an index map you can go to a particular map and return to the previous one.
They solve this by placing a url in the table that indicates where it will go, in case the index only sends to the region maps. In the case of region maps above there is a url to return to the initial map.
<% if (title! = "" || region! = "") {%>
">
<% if (region! = "") {%>United States> <%}%>
<% if (title! = "" && region! = "") {%> - <%}%>
<% if (title! = "") {%> <% = encode (title)%> <%}%>
<%}%>
To deploy the table, they created an asp that raises the data of the selected object in a table as seen in the iframe to the right.
Hyperlinks
All the science of this template is based on creating hyperlinks between one map and another:
If they are fixed, it is nothing more than a url to the host, choosing that from the default template select a map. To create a column of Hyperlink is chosen in the URL data type from the table design, in this case by sending to a variable called "region" configured in the asp default template.
// create parameters
var command = parameterForm ("command", "startup");
var mode = parameterForm ("mode", "center");
var region = parameterForm ("region"," ");
var regionCurrent = parameter ("region"," ");
var state = parameterForm ("state", "");
var x = parameterForm ("x", "");
var y = parameterForm ("y", "");// change regions if necessary
if (region ! = regionCurrent) {
region = regionCurrent;
state = "";
}
Ah !, you are afraid of the code, come and this and other examples can be downloaded from the web of Manifold, includes the maps and publication folder with the asp created. You have to open it and set up the service as as i explained before. Then it can be replaced with an example of your own and there you see that it is nothing to write home about.
Also in this forum consultation different real websites mounted on Manifold are shown, of which I spoke of an example before.