Available Rectangle Tool Instances
var mapview;
var rectangleToolIns=new Array();
var rectangleTool=null;
function showMap()
{
var baseURL = "http://"+document.location.host+"/mapviewer";
var mapCenterLon = -122.45;
var mapCenterLat = 37.6706;
var mapZoom = 4;
var centerPoint = MVSdoGeometry.createPoint(mapCenterLon,mapCenterLat,8307);
mapview = new MVMapView(document.getElementById("map"), baseURL);
mapview.addMapTileLayer(new MVMapTileLayer("mvdemo.demo_map"));
mapview.setCenter(centerPoint);
mapview.setZoomLevel(mapZoom);
mapview.display();
}
//create a rectangle tool
function addRectangleTool()
{
rectangleTool = new MVRectangleTool("mvdemo.L.MAJOR STREET");
mapview.addRectangleTool(rectangleTool);
rectangleToolIns.push(rectangleTool);
refreshRectangleToolList();
}
//initialize a rectangle tool
function initRectangleTool()
{
var rectangleToolList=document.getElementById("rectangleToolList");
if((rectangleToolList.selectedIndex)<0)
{
alert("Please choose rectangle tool instance from the list above to initialize! ");
return;
}
else
rectangleTool=rectangleToolIns[rectangleToolList.selectedIndex];
rectangleToolIns[rectangleToolList.selectedIndex].init();
var listenerFlag=document.getElementById("listenerFlag");
AddEventListener(listenerFlag.checked);
}
//clear a rectangle tool
function clearRectangleTool()
{
var rectangleToolList=document.getElementById("rectangleToolList");
if((rectangleToolList.selectedIndex)<0)
{
alert("Please choose rectangle tool instance from the list above to clear! ");
return;
}
rectangleToolIns[rectangleToolList.selectedIndex].clear();
}
function refreshRectangleToolList()
{
var rectangleToolList=document.getElementById("rectangleToolList");
rectangleToolList.options.length=0;
for(var i=0; i<rectangleToolIns.length; ++i)
{
var option=document.createElement("option");
option.text="RectangleTool"+(i+1);
option.value=rectangleToolIns[i].id;
rectangleToolList.options[rectangleToolList.options.length]=option;
}
}
function getOrdinates()
{
var mouseLoc = mapview.getMouseLocation();
var latLngStr = '<font color="#FF0000">The location to start dragging mouse:'
+ mouseLoc.getPointX() + ', ' + mouseLoc.getPointY() + '</font>' ;
document.getElementById("message").innerHTML = latLngStr;
}
function getRectangle()
{
var rectangle=rectangleTool.getRectangle();
if(rectangle!=null)
document.getElementById("message").innerHTML+='<br><br><font color="#00FF00">The rectangle: '+
rectangleTool.getRectangle()+'</font>';
else
document.getElementById("message").innerHTML+='<br><br><font color="#00FF00">The rectangle: null</font>';
}
function showRectangleSize()
{
document.getElementById("message").innerHTML='
Width:'+rectangleTool.getWidth('meter')
+' meters, height:'+rectangleTool.getHeight('meter')+' meters';
}
// add event listener for a rectangle tool
function AddEventListener(flag)
{
rectangleTool.attachEventListener(MVEvent.DRAG, showRectangleSize);
if(flag)
{
document.getElementById("message").innerHTML = "<font color=\"#FF0000\">Message Area</font>";
rectangleTool.attachEventListener(MVEvent.START, getOrdinates);
rectangleTool.attachEventListener(MVEvent.FINISH, getRectangle);
}
else
{
document.getElementById("message").innerHTML = "";
rectangleTool.detachEventListener(MVEvent.START, getOrdinates);
rectangleTool.detachEventListener(MVEvent.FINISH, getRectangle);
}
}