当前位置: 首页 > 文档资料 > Google 地图入门 >

符号(Symbols)

优质
小牛编辑
137浏览
2023-12-01

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

添加符号

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

  • 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

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

例子 (Example)

以下示例演示如何在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>

动画符号

就像标记一样,您也可以添加动画,例如反弹和放下符号。

例子 (Example)

以下示例显示如何将符号用作地图上的标记并向其添加动画 -

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