谷歌地图 - 符号

除了标记,多边形,折线和其他几何形状外,我们还可以在地图上添加预定义的矢量图像(符号).本章介绍如何使用Google地图提供的符号.

添加符号

Google提供了各种基于矢量的图像(符号)用于标记或折线.就像其他叠加层一样,要在地图上绘制这些预定义符号,我们必须实例化它们各自的类.以下是Google提供的预定义符号列表及其类名 :

  • :  google.maps.SymbolPath.CIRCLE

  • 向后指向箭头(已关闭) :  google.maps.SymbolPath.BACKWARD_CLOSED_ARROW

  • 前进指向箭头(已关闭) :  google.maps.SymbolPath.FORWARD_CLOSED_ARROW

  • 前进指向箭头(打开) :  google.maps.SymbolPath.CIRCLE

  • 向后指向箭头(打开) :  google.maps.SymbolPath.CIRCLE

这些符号具有以下属性 :  path,fillColor,fillOpacity,scale,stokeColor,strokeOpacity和strokeWeight.

示例

以下示例演示如何在Google Map上绘制预定义符号.

<!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>

Animating the Symbol

就像标记一样,您也可以在符号上添加诸如跳动和掉落之类的动画。

示例

以下示例说明如何在地图上使用符号作为标记并向其中添加动画:

<!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>