我在地图中设置了一组标记,它们的名称分别为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();