除了标记,多边形,折线和其他几何形状外,我们还可以在地图上添加预定义的矢量图像(符号).本章介绍如何使用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>
就像标记一样,您也可以在符号上添加诸如跳动和掉落之类的动画。
以下示例说明如何在地图上使用符号作为标记并向其中添加动画:
<!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>