Embeddable maps

7. Sample Site

Here is the complete HTML and JavaScript created for this document.

HTML

<html>
<head>
	<title>Embedded maps development</title>
	<script src= "script/embeddedMapScript.js" ></script>
	</head>
	<body>
	<script src=" http://localhost/webmaplayers/GetMap.axd?mapid=myMap&mapname=embedded&controlTag=MapPlaceholder
	&x=530284&y=179551&resolution=1.2&showsymbol=true
	&controls=panzoom&initialisedcallback=afterInitethod"type="text/javascript"></script>
		<div style="width:500px;height:500px;" id="MapPlaceholder"></div>
		<div>			
		Total Distance: <span id="totalDistance"></span>
		</div>
		<button onclick="enableMeasureLine();">Measure Line</button>
		<button onclick="enableMeasurePolygon();">Measure Area</button>
	</body>
</html>

JavaScript

var measuringControl;
var measurePolygonControl;
function afterInitMethod(eventArgs){		
	measuringControl = new OpenLayers.Control.Measure(OpenLayers.Handler.Path, { persist:true } );
	measurePolygonControl = new 
OpenLayers.Control.Measure(OpenLayers.Handler.Polygon, { persist:true });
	measuringControl.events.on( {
		"measure": measureHandler,
		"measurepartial": measureHandler
	});
	measurePolygonControl.events.on( {
		"measure": measureHandler,
		"measurepartial": measureHandler
	});
	eventArgs.map.addControls([ measuringControl, measurePolygonControl]);	
}

function measureHandler(eventArgs){
	var outputSpan = document.getElementById('totalDistance');
	var output = eventArgs.measure.toFixed(3) + ' ' + eventArgs.units + (eventArgs.order==1 ? '' : '<sup>2</sup>');		
	outputSpan.innerHTML = output;
}

function enableMeasureLine(eventArgs){
	if(measurePolygonControl != undefined && measurePolygonControl.active){
		measurePolygonControl.deactivate();
	}
	measuringControl.activate();
}
function enableMeasurePolygon(eventArgs){
	if(measuringControl != undefined && measuringControl.active){
		measuringControl.deactivate();
	}
	measurePolygonControl.activate();
}