我在地图中设置了一组标记,它们的名称分别为ev1,ev2,ev3等。

当我单击一个链接时,我希望从地图上打开一个弹出窗口,它们的触发方式是这样的,

ev1.openPopup();


但是因为我不能写每个标记的弹出代码,所以得到了这样的jQuery代码

$(document).on('click', '.venname', function () {
var myLinkId = $('.venname').attr('data-mylink');
    ev+myLinkId.openPopup();
});


一旦单击链接,它将获得一个名为data-mylink的ID,并将其与ev结合,例如,当我单击lickone时,它将具有一个名为1的属性,而jquery代码将得到1并使得变量ev1并会触发弹出式窗口,但由于某种原因,我无法使它正常工作并得到错误ev,但未定义。

那么如何将ev与变量myLinkID进行编译?

最佳答案

您可以使用原始对象或数组来存储标记对象:

var markers = {marker1: new Marker(...), marker2: new Marker(...), ... };


然后您可以访问如下标记对象:

markers['marker'+markerId].openPopup();


数组示例:

var markers = [new Marker(...), new Marker(...), ...];

markers[markerIndex].openPopup();

09-18 09:54