如何从Javascript数组创建按钮,链接到谷歌地图标记

How to create buttons from Javascript array, linked to google maps markers?

本文关键字:链接 谷歌 地图 图标 按钮 Javascript 数组 创建      更新时间:2023-09-26

我有一个用数组中的标记填充的地图。当单击标记时,它们将数据发送到包含数组地址数据的HTML文本框,如下所示;

    document.getElementById("address_box").value = title;
    <input type = "text" id = "address_box" value = ""/>
这是用于填充标记 的代码
  for (var i = 0; i < arrMarkers.length; i++) {
        latlng = new google.maps.LatLng(arrMarkers[i].lat, arrMarkers[i].lng);
        marker = new google.maps.Marker({
            position: latlng, 
            map: map, 
            title: arrMarkers[i].title,
             icon: "http://maps.google.com/mapfiles/ms/micons/blue.png"
        });

我想使用另一个for循环在页面上动态创建按钮,使用每个标记的匹配数组索引

根据我的理解,我应该将数组索引和标题发送给按钮,这样数据就可以从数组中提取并发送到文本框中。

这是我写的一些伪代码。我想我也需要一些html来接收它。

 for (var i = 0; i < arrMarkers.length; i++) {
        button = newButton(arrMarkers[i].title);
      });

我可以使用什么代码来添加一个按钮外面的页面外的javascript?

仔细想想,您甚至不需要表单。对于本例,id为"addresses"的无序列表会更好。

for (var i = 0; i < arrMarkers.length; i++) {
    document.getElementById('addresses').innerHTML += '<li><a href="javascript:show(' + i + ');return false">' + arrMarkers[i].title + '</a></li>';
    latlng = new google.maps.LatLng(arrMarkers[i].lat, arrMarkers[i].lng);
    marker = new google.maps.Marker({
        position: latlng, 
        map: map, 
        title: arrMarkers[i].title,
         icon: "http://maps.google.com/mapfiles/ms/micons/blue.png"
    });

如果你想这样做,你只需要写一个函数来显示所请求的标记。

我有v2的旧代码,但这在这里是相当无用的。在v3标记管理器中必须有show函数