You can also download the GEOMAP publishing wizard from
http://www.geomapgis.ca//website/en/webRedir.asp?addr=products/geomap/ggPubWiz.htm,
run it while choosing to have it build an overview (or locator map, I can't
remember what they call it). Then you can grab the code out of there and
use it in your own application.
--
Andy Morsell, P.E.
Spatial Integrators, Inc.
http://www.SpatialGIS.com
wrote in message news:5193296@discussion.autodesk.com...
hi all,
I was browsing this forum looking for a sample of how to build an overview
map.
I found the code below but I have a little problem with the
getViewPane() function. Has anyone used this code or something similar?
Here is the code:
function onViewChanged()
{
////////////////////////
// get access to maps //
////////////////////////
var map = getMap();
var viewpane = getViewpane();
/////////////////////////////////////////////////
// Get the longitude (x) and latitude (y) //
// of the centerpoint of the current mapwindow //
/////////////////////////////////////////////////
var myCenterLat = map.getLat()
var myCenterLon = map.getLon()
//////////////////////////////////////////////////
// Compute/Convert centerpoint of the current //
// mapwindow in Mapping Coordinate System (MCS) //
//////////////////////////////////////////////////
var myMCSCenterPoint = map.lonLatToMcs(myCenterLon, myCenterLat);
/////////////////////////////////////////////////////////////
// Get the scalefactor to convert from Meters to MCS units //
/////////////////////////////////////////////////////////////
var myMCSScaleFactor = map.getMCSScaleFactor();
////////////////////////////////////////////////////
// Get current halfWidth and halfHeight in meters //
////////////////////////////////////////////////////
var myHalfMapHeight = map.getHeight("M")/2;
var myHalfMapWidth = map.getWidth("M")/2;
///////////////////////////////////////////////////
/////////////////////////
/
// Compute Maximum and Minimum Coordinates of the current mapwindow in MCS
//
//////////////////////////////////////////////////////////////
//////////////
/
var myMCSMaxY = myMCSCenterPoint.getY() +
(myHalfMapHeight*(1/myMCSScaleFactor));
var myMCSMaxX = myMCSCenterPoint.getX() +
(myHalfMapWidth*(1/myMCSScaleFactor));
var myMCSMinY = myMCSCenterPoint.getY() -
(myHalfMapHeight*(1/myMCSScaleFactor));
var myMCSMinX = myMCSCenterPoint.getX() -
(myHalfMapWidth*(1/myMCSScaleFactor));
////////////////////////////////////////////////
// Compute/Convert Maximum and Minimum Points //
// of the current mapwindow in LatLon (LL) //
////////////////////////////////////////////////
var myLLMaxXMaxYPoint = map.mcsToLonLat(myMCSMaxX, myMCSMaxY);
var myLLMinXMaxYPoint = map.mcsToLonLat(myMCSMinX, myMCSMaxY);
var myLLMinXMinYPoint = map.mcsToLonLat(myMCSMinX, myMCSMinY);
var myLLMaxXMinYPoint = map.mcsToLonLat(myMCSMaxX, myMCSMinY);
////////////////////////////////
// Add points to a collection //
////////////////////////////////
var points = map.createObject("mgcollection");
points.add(myLLMaxXMaxYPoint);
points.add(myLLMinXMaxYPoint);
points.add(myLLMinXMinYPoint);
points.add(myLLMaxXMinYPoint);
points.add(myLLMaxXMaxYPoint);
var user_vertices = map.createObject("mgcollection");
user_vertices.add(5);
//
// change redline setup //
//
var redline_setup = viewpane.getRedlineSetup();
// get edge attribute
var edge_attr = redline_setup.getEdgeAttr();
// make edge red
edge_attr.setColor(5);
edge_attr.setThickness(4);
//
// disable autorefresh
//
viewpane.setAutoRefresh(false);
//
// create redline layer, or get it if it already exists
//
var myLayer = viewpane.getMapLayer("viewPane");
if (myLayer == null)
{
myLayer = viewpane.createLayer("redline", "viewPane");
myLayer.setShowInLegend(false);
}
// create redline object, or get it if it already exists
var obj = myLayer.getMapObject('viewPane');
if (obj != null)
{
// remove object if it already exists
myLayer.removeObject(obj);
}
// add a new object to the layer
obj = myLayer.createMapObject('viewPane', 'viewPane', '');
// use MGCollection to create polygon primitive and add it to redline
object
obj.addPolygonPrimitive(points, user_vertices, false);
//
//
// enable autorefresh
//
viewpane.setAutoRefresh(true);
viewpane.refresh();
}
Below is the part of the code I need to grab:
// get access to maps //
////////////////////////
var viewpane = getViewpane();
Thanks much in advance