首页 > web前端 > js教程 > 如何在 Google Maps JS API v3 中轻松显示多个标记和信息窗口?

如何在 Google Maps JS API v3 中轻松显示多个标记和信息窗口?

Mary-Kate Olsen
发布: 2024-12-20 17:12:10
原创
796 人浏览过

How to Easily Display Multiple Markers and Info Windows in Google Maps JS API v3?

Google Maps JS API v3 中的多个标记显示

简介

在 Google 地图上显示多个标记不会造成任何影响挑战;然而,对于初学者来说,一些教程可能显得过于复杂。本文介绍了一种绘制标记并在单击时显示信息窗口的简化方法。

方法

1。获取标记数据:

首先从数组中检索标记数据,如 Google 示例所示:

var locations = [
  ['Bondi Beach', -33.890542, 151.274856, 4],
  ['Coogee Beach', -33.923036, 151.259052, 5],
  ['Cronulla Beach', -34.028249, 151.157507, 3],
  ['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
  ['Maroubra Beach', -33.950198, 151.259302, 1]
];
登录后复制

2。初始化地图:

在 div 元素中实例化一个新的 Google 地图,提供缩放、居中和地图类型等选项。

var map = new google.maps.Map(document.getElementById('map'), {
  zoom: 10,
  center: new google.maps.LatLng(-33.92, 151.25),
  mapTypeId: google.maps.MapTypeId.ROADMAP
});
登录后复制

3.添加标记和信息窗口:

循环遍历位置数组并为每个位置创建一个标记。单击标记时,将显示一个包含位置名称的信息窗口。

var infowindow = new google.maps.InfoWindow();
var marker, i;

for (i = 0; i < locations.length; i++) {  
  marker = new google.maps.Marker({
    position: new google.maps.LatLng(locations[i][1], locations[i][2]),
    map: map
  });
 
  google.maps.event.addListener(marker, 'click', (function(marker, i) {
    return function() {
      infowindow.setContent(locations[i][0]);
      infowindow.open(map, marker);
    }
  })(marker, i));
}
登录后复制

示例代码

以下完整代码片段演示了实现:

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  <title>Google Maps Multiple Markers</title>
  <script src="http://maps.google.com/maps/api/js?key=YOUR_API_KEY" 
          type="text/javascript"></script>
</head>
<body>
  <div>
登录后复制

额外注意事项

  • 提供的示例使用固定的 API 密钥;请记住将其替换为您自己的。
  • 采用闭包魔法来确保将正确的位置数据传递到信息窗口。
  • 请参阅 Mozilla 开发中心文章以进一步了解闭包。

以上是如何在 Google Maps JS API v3 中轻松显示多个标记和信息窗口?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板