Google Maps - Marcatori

Possiamo disegnare oggetti sulla mappa e legarli a una latitudine e longitudine desiderate. Questi sono chiamati overlay. Google Maps fornisce varie sovrapposizioni come mostrato di seguito.

  • Markers
  • Polylines
  • Polygons
  • Cerchio e rettangolo
  • Finestra informativa
  • Symbols

Per contrassegnare una singola posizione sulla mappa, Google Maps fornisce markers. Questi contrassegni utilizzano un simbolo standard e questi simboli possono essere personalizzati. Questo capitolo spiega come aggiungere i marcatori e come personalizzarli, animarli e rimuoverli.

Aggiunta di un semplice marker

È possibile aggiungere un semplice marker alla mappa in una posizione desiderata istanziando la classe marker e specificando la posizione da contrassegnare utilizzando latlng, come mostrato di seguito.

var marker = new google.maps.Marker({
   position: new google.maps.LatLng(19.373341, 78.662109),
   map: map,
});

Esempio

Il codice seguente imposta l'indicatore sulla città Hyderabad (India).

<!DOCTYPE html>
<html>
   
   <head>
      <script src = "https://maps.googleapis.com/maps/api/js"></script>
      
      <script>
         function loadMap() {
			
            var mapOptions = {
               center:new google.maps.LatLng(19.373341, 78.662109),
               zoom:7
            }
				
            var map = new google.maps.Map(document.getElementById("sample"),mapOptions);
            
            var marker = new google.maps.Marker({
               position: new google.maps.LatLng(17.088291, 78.442383),
               map: map,
            });
         }
      </script>
      
   </head>
   
   <body onload = "loadMap()">
      <div id = "sample" style = "width:580px; height:400px;"></div>
   </body>
   
</html>

Produce il seguente output:

Animazione del marker

Dopo aver aggiunto un indicatore alla mappa, puoi andare oltre e aggiungere animazioni come bounce e drop. Lo snippet di codice seguente mostra come aggiungere animazioni di rimbalzo e rilascio a un marcatore.

//To make the marker bounce`
animation:google.maps.Animation.BOUNCE 

//To make the marker drop
animation:google.maps.Animation.Drop

Esempio

Il codice seguente imposta l'indicatore sulla città di Hyderabad con un effetto di animazione aggiunto:

<!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.377631, 78.478603),
               zoom:5
            }
				
            var map = new google.maps.Map(document.getElementById("sample"),mapOptions);
            
            var marker = new google.maps.Marker({
               position: new google.maps.LatLng(17.377631, 78.478603),
               map: map,
               animation:google.maps.Animation.Drop
            });
         }
      </script>

   </head>
   
   <body onload = "loadMap()">
      <div id = "sample" style = "width:580px; height:400px;"></div>
   </body>
   
</html>

Produce il seguente output:

Personalizzazione del marker

Puoi utilizzare le tue icone al posto dell'icona predefinita fornita da Google Maps. Basta impostare l'icona comeicon:'ICON PATH'. E puoi rendere questa icona trascinabile impostandodraggable:true.

Esempio

L'esempio seguente mostra come personalizzare il marcatore con un'icona desiderata:

<!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.377631, 78.478603),
               zoom:5
            }
            
            var map = new google.maps.Map(document.getElementById("sample"),mapOptions);
            
            var marker = new google.maps.Marker({
               position: new google.maps.LatLng(17.377631, 78.478603),
               map: map,
               draggable:true,
               icon:'/scripts/img/logo-footer.png'
            });
				
            marker.setMap(map);
         }
      </script>
      
   </head>
   
   <body onload = "loadMap()">
      <div id = "sample" style = "width:580px; height:400px;"></div>
   </body>
   
</html>

Produce il seguente output:

Rimozione del marker

È possibile rimuovere un marker esistente impostando il marker su null utilizzando il marker.setMap() metodo.

Esempio

L'esempio seguente mostra come rimuovere l'indicatore da una mappa:

<!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.377631, 78.478603),
               zoom:5
            }
            
            var map = new google.maps.Map(document.getElementById("sample"),mapOptions);
            
            var marker = new google.maps.Marker({
               position: new google.maps.LatLng(17.377631, 78.478603),
               map: map,
               animation:google.maps.Animation.Drop
            });
				
            marker.setMap(null);
         }
      </script>
      
   </head>
   
   <body onload = "loadMap()">
      <div id = "sample" style = "width:580px; height:400px;"></div>
   </body>
   
</html>

Produce il seguente output: