Get Shapes from DrawingManager
This example shows how to get all the shapes that are in the drawing manager at any time.
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8" />
<script type='text/javascript'>
var map, drawingManager;
function GetMap() {
map = new Microsoft.Maps.Map('#myMap', {});
Microsoft.Maps.loadModule('Microsoft.Maps.DrawingTools', function () {
var tools = new Microsoft.Maps.DrawingTools(map);
tools.showDrawingManager(function (manager) {
drawingManager = manager;
})
});
}
function getShapes() {
var shapes = drawingManager.getPrimitives();
if (shapes && shapes.length > 0) {
alert('Retrieved ' + shapes.length + ' from the drawing manager.');
} else {
alert('No shapes in the drawing manager.');
}
}
</script>
<script type='text/javascript' src='http://www.bing.com/api/maps/mapcontrol?callback=GetMap&key=[YOUR_BING_MAPS_KEY]' async defer></script>
</head>
<body>
<div id="myMap" style="position:relative;width:600px;height:400px;"></div><br/>
<input type="button" value="Get Shapes" onclick="getShapes()"/>
</body>
</html>
Tip
If you want to get a shape right after it was drawn, use the drawingEnded
event on the DrawingManager.