Google Maps - Símbolos

Além de marcadores, polígonos, polilinhas e outras formas geométricas, também podemos adicionar imagens vetoriais predefinidas (símbolos) em um mapa. Este capítulo explica como usar os símbolos fornecidos pelo Google Maps.

Adicionando um Símbolo

O Google fornece várias imagens (símbolos) baseadas em vetores que podem ser usadas em um marcador ou polilinha. Assim como outras sobreposições, para desenhar esses símbolos predefinidos em um mapa, temos que instanciar suas respectivas classes. Abaixo está uma lista de símbolos predefinidos fornecidos pelo Google e seus nomes de classes -

  • Circle - google.maps.SymbolPath.CIRCLE

  • Backward Pointing arrow (closed) - google.maps.SymbolPath.BACKWARD_CLOSED_ARROW

  • Forward Pointing arrow (closed) - google.maps.SymbolPath.FORWARD_CLOSED_ARROW

  • Forward Pointing arrow (open) - google.maps.SymbolPath.CIRCLE

  • Backward Pointing arrow (open) - google.maps.SymbolPath.CIRCLE

Esses símbolos têm as seguintes propriedades - path, fillColor, fillOpacity, scale, stokeColor, strokeOpacity e strokeWeight.

Exemplo

O exemplo a seguir demonstra como desenhar símbolos predefinidos no Google Maps.

<!DOCTYPE html>
<html>
   
   <head>
      <script src = "https://maps.googleapis.com/maps/api/js"></script>
      
      <script>
         function loadMap() {
			
            var mapOptions = {
               center:new google.maps.LatLng(17.433053, 78.412172),
               zoom:5
            }
            
            var map = new google.maps.Map(document.getElementById("sample"),mapOptions);
            
            var marker = new google.maps.Marker({
               position: map.getCenter(),
               
               icon: {
                  path: google.maps.SymbolPath.BACKWARD_CLOSED_ARROW,
                  scale: 5,
                  strokeWeight:2,
                  strokeColor:"#B40404"
               },
					
               draggable:true,
               map: map,
            });
         }
      </script>
      
   </head>
   
   <body onload = "loadMap()">
      <div id = "sample" style = "width:580px; height:400px;"></div>
   </body>
   
</html>

Ele produz a seguinte saída -

Animando o símbolo

Assim como os marcadores, você também pode adicionar animações como salto e queda aos símbolos.

Exemplo

O exemplo a seguir mostra como usar um símbolo como um marcador em um mapa e adicionar animação a ele -

<!DOCTYPE html>
<html>
   
   <head>
      <script src = "https://maps.googleapis.com/maps/api/js"></script>
      
      <script>
         function loadMap() {
			
            var mapOptions = {
               center:new google.maps.LatLng(17.433053, 78.412172),
               zoom:5
            }
            
            var map = new google.maps.Map(document.getElementById("sample"),mapOptions);
            
            var marker = new google.maps.Marker({
               position: map.getCenter(),
               
               icon: {
                  path: google.maps.SymbolPath.BACKWARD_CLOSED_ARROW,
                  scale: 5,
                  strokeWeight:2,
                  strokeColor:"#B40404"
               },
               
               animation:google.maps.Animation.DROP,
               draggable:true,
               map: map
            });
         }
      </script>
      
   </head>
   
   <body onload = "loadMap()">
      <div id = "sample" style = "width:580px; height:400px;"></div>
   </body>
   
</html>

Ele produz a seguinte saída -