Get Shapes from DrawingManager

This example shows how to get all the shapes that are in the drawing manager at any time.

<!DOCTYPE html>
    <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 type='text/javascript' src='[YOUR_BING_MAPS_KEY]' async defer></script>
    <div id="myMap" style="position:relative;width:600px;height:400px;"></div><br/>
    <input type="button" value="Get Shapes" onclick="getShapes()"/>


If you want to get a shape right after it was drawn, use the drawingEnded event on the DrawingManager.