Available Circle Tool Instances
var mapview; var circleToolIns=new Array(); var circleTool=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 circle tool function addCircleTool() { circleTool = new MVCircleTool("mvdemo.L.MAJOR STREET"); mapview.addCircleTool(circleTool); circleToolIns.push(circleTool); refreshCircleToolList(); } //initialize a circle tool function initCircleTool() { var circleToolList=document.getElementById("circleToolList"); if((circleToolList.selectedIndex)<0) { alert("Please choose circle tool instance from the list above to initialize! "); return; } else circleTool=circleToolIns[circleToolList.selectedIndex]; circleToolIns[circleToolList.selectedIndex].init(); var listenerFlag=document.getElementById("listenerFlag"); AddEventListener(listenerFlag.checked); } //clear a circle tool function clearCircleTool() { var circleToolList=document.getElementById("circleToolList"); if((circleToolList.selectedIndex)<0) { alert("Please choose circle tool instance from the list above to clear! "); return; } circleToolIns[circleToolList.selectedIndex].clear(); } function refreshCircleToolList() { var circleToolList=document.getElementById("circleToolList"); circleToolList.options.length=0; for(var i=0; i<circleToolIns.length; ++i) { var option=document.createElement("option"); option.text="CircleTool"+(i+1); option.value=circleToolIns[i].id; circleToolList.options[circleToolList.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 getCircle() { var circle=circleTool.getCircle(); if(circle!=null) document.getElementById("message").innerHTML+='<br><br><font color="#00FF00">The circle: '+ circleTool.getCircle()+'</font>'; else document.getElementById("message").innerHTML+='<br><br><font color="#00FF00">The circle: null</font>'; } function getRadius() { document.getElementById("message").innerHTML='Raduis: '+circleTool.getRadius("meter")+' meters'; } // add event listener for a circle tool function AddEventListener(flag) { circleTool.attachEventListener(MVEvent.DRAG, getRadius) ; if(flag) { document.getElementById("message").innerHTML = "<font color=\"#FF0000\">Message Area</font>"; circleTool.attachEventListener(MVEvent.START, getOrdinates); circleTool.attachEventListener(MVEvent.FINISH, getCircle); } else { document.getElementById("message").innerHTML = ""; circleTool.detachEventListener(MVEvent.START, getOrdinates); circleTool.detachEventListener(MVEvent.FINISH, getCircle); } }