- Google Maps 教程
- Google Maps - 首页
- Google Maps - 入门
- Google Maps - 类型
- Google Maps - 缩放
- Google Maps - 本地化
- Google Maps - UI 控件
- Google Maps - 标记
- Google Maps - 形状
- Google Maps - 信息窗口
- Google Maps - 符号
- Google Maps - 事件
- Google Maps 资源
- Google Maps - 快速指南
- Google Maps - 有用资源
- Google Maps - 讨论
Google Maps - 标记
我们可以在地图上绘制对象并将它们绑定到所需的经纬度。这些被称为覆盖层。Google Maps 提供了各种覆盖层,如下所示。
- 标记
- 折线
- 多边形
- 圆形和矩形
- 信息窗口
- 符号
为了在地图上标记单个位置,Google Maps 提供了**标记**。这些标记使用标准符号,并且可以自定义这些符号。本章解释如何添加标记,以及如何自定义、动画和删除它们。
添加简单标记
您可以通过实例化标记类并使用 latlng 指定要标记的位置来在地图上的所需位置添加简单标记,如下所示。
var marker = new google.maps.Marker({ position: new google.maps.LatLng(19.373341, 78.662109), map: 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(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>
它产生以下输出:
标记动画
将标记添加到地图后,您可以进一步添加动画,例如**弹跳**和**下降**。以下代码片段显示了如何向标记添加弹跳和下降动画。
//To make the marker bounce` animation:google.maps.Animation.BOUNCE //To make the marker drop animation:google.maps.Animation.Drop
示例
以下代码将标记设置在海得拉巴市,并添加了动画效果:
<!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>
它产生以下输出:
自定义标记
您可以使用自己的图标代替 Google Maps 提供的默认图标。只需将图标设置为**icon:'ICON PATH'**。并且您可以通过设置**draggable:true**使此图标可拖动。
示例
以下示例显示了如何将标记自定义为所需的图标:
<!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>
它产生以下输出:
删除标记
您可以通过使用**marker.setMap()**方法将标记设置为 null 来删除现有标记。
示例
以下示例显示了如何从地图中删除标记:
<!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>
它产生以下输出:
广告