Web Tutorials

Interview Q & A

Code Examples

Utility Tools

Add Draggable Polygons on Google Maps

In this example you will learn how to add draggable polygons on google map.

Here you can view the output of the example and you can also "try it yourself" by clicking on "Live Demo" button given at the bottom.

Syntax

new google.maps.Polygon({
    map: map,
    paths: blueCoords,
    strokeColor: '#0000FF',
    strokeOpacity: 0.8,
    strokeWeight: 2,
    fillColor: '#0000FF',
    fillOpacity: 0.35,
    draggable: true,
    geodesic: false
  });

Add Draggable Polygons on Google Maps Example

<!DOCTYPE html>  
<html>  
  <head>  <!-- www.techstrikers.com -->
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">  
    <meta charset="utf-8">  
    <title>Draggable Polygons</title>  
    <style>  
      html, body {  
        height: 100%;  
        margin: 0;  
        padding: 0;  
      }  
      #map {  
        height: 99%;
        width: 99%;
      }  
    </style>  
        <script src="https://maps.googleapis.com/maps/api/js?&callback=initMap&signed_in=true" async defer>  
    </script>  
    <script>  
 
function initMap() {  
  var map = new google.maps.Map(document.getElementById('map'), {  
    zoom: 4,  
    center: {lat: 24.886, lng: -70.268},  
    mapTypeId: google.maps.MapTypeId.TERRAIN  
  });  
  
  var blueCoords = [  
    {lat: 25.774, lng: -60.190},  
    {lat: 18.466, lng: -46.118},  
    {lat: 32.321, lng: -44.757}  
  ];  
    
  var redCoords = [  
    {lat: 25.774, lng: -80.190},  
    {lat: 18.466, lng: -66.118},  
    {lat: 32.321, lng: -64.757}  
  ];  
  
  // Construct a draggable red triangle with geodesic set to true.  
  new google.maps.Polygon({  
    map: map,  
    paths: redCoords,  
    strokeColor: '#FF0000',  
    strokeOpacity: 0.8,  
    strokeWeight: 2,  
    fillColor: '#FF0000',  
    fillOpacity: 0.67,  
    draggable: true,  
    geodesic: true  
  });  
  // Construct a draggable blue triangle with geodesic set to false.  
  new google.maps.Polygon({  
    map: map,  
    paths: blueCoords,  
    strokeColor: '#0000FF',  
    strokeOpacity: 0.8,  
    strokeWeight: 2,  
    fillColor: '#0000FF',  
    fillOpacity: 0.67,  
    draggable: true,  
    geodesic: true  
  });  
}  
  </script>  
  </head>  
  <body>  
    <div id="map"></div>  
  </body>  
</html>

Above example will produce following output