0

可以从信息窗口中的链接调用JavaScript吗?知道这是可能的,但就我而言,我不知道如何声明i

i 是一个多边形数,表示调用函数 kmlShowPlacemark(i)

这是我的例子:

function clickablePolygon(placemark, info, i) {
     var name = geoXmlDoc.placemarks[i].name;
     var numMkrs = geoXmlDoc.placemarks[i].numMarkers;
     google.maps.event.addListener(placemark.polygon, "click", function(e) {
        if (e && e.latLng) {
             infowindow.setPosition(e.latLng);
        } else {
             infowindow.setPosition(placemark.polygon.bounds.getCenter());
        }
    infowindow.setContent('<div class="geoxml3_infowindow"><h3>' + placemark.name +
           '</h3><div>' + info + '<br><a href="javascript:kmlShowPlacemark('+ i + ');">Show place</a></div>');
        infowindow.open(map); 
     });
}
4

2 回答 2

1

这对我有用,看起来您在 InfoWindow 中的 HTML 无效(这是我看到的唯一真正的区别):

function clickablePolygon(placemark, info, i) {
  google.maps.event.addListener(placemark.polygon, "click", function(e) {
    if (e && e.latLng) {
      infowindow.setPosition(e.latLng);
    } else {
      infowindow.setPosition(placemark.polygon.bounds.getCenter());
    }
    infowindow.setContent('<div class="geoxml3_infowindow"><h3>' + placemark.name +
               '</h3><div>' + info + '</div>'+'<br><a href="javascript:kmlShowPlacemark('+ i + ');">Show place</a></div>');
    infowindow.open(map);
  });
}

修改后的概念证明

于 2013-03-20T05:51:14.557 回答
0

请尝试以下方法:

代替:

<a href="javascript:kmlShowPlacemark('+ i + ');">Show place</a>

<a href="#" onclick="kmlShowPlacemark('+ i + '); return false;">Show place</a>
于 2013-03-19T22:13:02.407 回答