0

我有一张地图,里面装满了来自数组的标记。单击标记时,它们会将数据发送到 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 之外的页面?

4

1 回答 1

1

仔细想想,你甚至不需要一个表格。对于这个例子,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 标记管理器中必须有显示功能。

于 2013-03-12T10:48:15.550 回答