Working with Map Features
|
57
Next, the
doGetKey
function calls the
getMapObjectsEx
method and
passes its return value (a collection of the selected map features) to a variable
called
objs
. Note that if you use
getMapObjectsEx
with a map layer, it
returns an
MGCollection
object made up of map features of a map layer, but
by using the method with the selection object, and by passing it null as a
parameter, it returns the map features in the current selection only:
var objs = sel.getMapObjectsEx(null);
Then the function calls the
MGCollection.size
method, which returns a
count of the objects in the collection; that number is assigned to the
cntObjects
variable:
var cntObjects = objs.size();
After that,
doGetKey
uses a
for
loop to cycle through the feature collection,
placing all of the feature names in a single
msg
variable:
// variable to hold feature names
var msg = "Keys of selected features are:\n";
var i; // loop counter variable
for (i = 0; i < cntObjects; i++) // iterate from 0 to cntObjects
{
var obj = objs.item(i);
var key = obj.getKey();
msg = msg + obj.getMapLayer().getName() + " " + key + "\n";
}
The
cntObjects
variable tells the
for
loop to iterate once for each object.
At each iteration, the loop counter variable (
i
) is incremented and the
following statements are processed:
var obj = objs.item(i);
var key = obj.getKey();
msg = msg + obj.getMapLayer().getName() + " " + key + "\n";
The first statement uses the
item
method to select an object from the collec-
tion and assign it to a variable called
obj
.
The second statement operates on the
obj
variable, first using the
getKey
method to obtain the key of the feature represented by that variable, and
then assigning that name to the
msg
variable. The last line puts it all together
by concatenating the previous contents of
msg
, a layer name obtained by the
getName
method, a space character, the contents of
key
, and a JavaScript
newline. After all selected features have been added to
msg
, the contents of
the variable are displayed in a JavaScript
alert
box:
alert(msg);
Summary of Contents for 15606-011408-9300 - MAP R6.3 UPG
Page 1: ...15306 010000 5060 October 2001 Autodesk MapGuide Release 6 Developer s Guide ...
Page 6: ...vi ...
Page 16: ...16 ...
Page 30: ...30 ...
Page 84: ...84 ...
Page 134: ...134 ...
Page 202: ...202 ...