You can:
- create a DrawingManager with no controls or with some controls omitted, then
- add custom buttons for them and then
- add handlers to these buttons to call the functions that @ user1226919 mentions.
Example:
var drawingManager = new google.maps.drawing.DrawingManager({ drawingControl: false }); drawingManager.setMap(map); // drawingManager is now ready var marker_btn = document.createElement("button"); marker_btn.innerHTML = "Create Marker"; // add handlers marker_btn.addEventListener("click", (function () { // closure handles local toggle variables var toggled = false; var originalHTML = marker_btn.innerHTML; return function (e) { if (toggled) { drawingManager.setDrawingMode(null); e.target.innerHTML = originalHTML; } else { drawingManager.setDrawingMode(google.maps.drawing.OverlayType.MARKER); e.target.innerHTML = "Cancel"; } toggled = !toggled; } })()); // add button to map controls map.controls[ google.maps.ControlPosition.TOP_CENTER ].push( marker_btn );
Check out a working example with a custom polygon button: https://codepen.io/bozdoz/pen/jZNXNP?editors=0010
source share