New pricing changes will go into effect starting July 16, 2018. For more information, check out the Guide for Existing Users.

Draggable Polygons

Read the documentation or view this example fullscreen.

// This example creates draggable triangles on the map.
// Note also that the red triangle is geodesic, so its shape changes
// as you drag it north or south.

function initMap() {

  var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 1,
    center: {lat: 24.886, lng: -70.268},
    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.35,
    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.35,
    draggable: true,
    geodesic: false
  });
}
<div id="map"></div>
/* Always set the map height explicitly to define the size of the div
 * element that contains the map. */
#map {
  height: 100%;
}
/* Optional: Makes the sample page fill the window. */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}
<!-- Replace the value of the key parameter with your own API key. -->
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk&callback=initMap">
</script>

Try it yourself

Hover at top right of the code block to copy the code or open it in JSFiddle.

<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <title>Draggable Polygons</title>
    <style>
      /* Always set the map height explicitly to define the size of the div
       * element that contains the map. */
      #map {
        height: 100%;
      }
      /* Optional: Makes the sample page fill the window. */
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
    </style>
  </head>
  <body>
    <div id="map"></div>
    <script>
      // This example creates draggable triangles on the map.
      // Note also that the red triangle is geodesic, so its shape changes
      // as you drag it north or south.

      function initMap() {

        var map = new google.maps.Map(document.getElementById('map'), {
          zoom: 1,
          center: {lat: 24.886, lng: -70.268},
          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.35,
          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.35,
          draggable: true,
          geodesic: false
        });
      }
    </script>
    <script async defer
    src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
    </script>
  </body>
</html>

다음에 대한 의견 보내기...

Maps JavaScript API
Maps JavaScript API
도움이 필요하시나요? 지원 페이지를 방문하세요.