Web Tutorials

Interview Q & A

Code Examples

Utility Tools

Add Animated Symbols on Google Maps

In this example you will learn how to add animated symbols 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

var lineSymbol = {  
    path: google.maps.SymbolPath.CIRCLE,  
    scale: 25,  
    strokeColor: '#322'  
  };  

var line = new google.maps.Polyline({  
    path: [{lat:25.396230138028827, lng:79.85009765625}, 
	{lat:20.623081791311755, lng:79.85009765625}],  
    icons: [{  
      icon: lineSymbol,  
      offset: '100%'  
    }],  
    map: map  
  });

  animateCircle(line);  

Add Animated Symbols 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>Animating Symbols</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 lat_lng = {lat: 22.08672, lng: 79.42444};
  var map = new google.maps.Map(document.getElementById('map'), {  
    center: lat_lng,  
    zoom: 6,  
    mapTypeId: google.maps.MapTypeId.TERRAIN  
  });  
  
  var lineSymbol = {  
    path: google.maps.SymbolPath.CIRCLE,  
    scale: 25,  
    strokeColor: '#322'  
  };  
 
  var line = new google.maps.Polyline({  
    path: [{lat:25.396230138028827, lng:79.85009765625}, 
	{lat:20.623081791311755, lng:79.85009765625}],  
    icons: [{  
      icon: lineSymbol,  
      offset: '100%'  
    }],  
    map: map  
  });  
  
  animateCircle(line);  
}  
function animateCircle(line) {  
    var count = 0;  
    window.setInterval(function() {  
      count = (count + 1) % 200;  
      var icons = line.get('icons');  
      icons[0].offset = (count / 5) + '%';  
      line.set('icons', icons);  
  }, 20);  
}  
    </script>  
  </head>  
  <body>  
    <div id="map"></div>  
  </body>  
</html>

Above example will produce following output