我在地图中设置了一组标记,它们的名称如ev1,ev2,ev3等。
当我点击一个链接时,我希望从地图中打开一个弹出窗口,它们就像这样被触发,
ev1.openPopup();
但是因为我无法编写每个标记的弹出代码,所以我得到了像这样的jquery代码
$(document).on('click', '.venname', function () {
var myLinkId = $('.venname').attr('data-mylink');
ev+myLinkId.openPopup();
});
一旦链接被点击,它将获得一个名为data-mylink的id,并将它与ev组合,作为一个例子,当我点击lick one时,它将有一个名为1的属性,jquery代码将获得1并且make变量ev1并将触发弹出窗口,但不知何故我不能让这个东西工作并且得到错误ev没有被定义。
那么如何用变量myLinkID来组合ev?
答案 0 :(得分:2)
您可以使用原始对象或数组来存储标记对象:
var markers = {marker1: new Marker(...), marker2: new Marker(...), ... };
然后你可以达到这样的Marker对象:
markers['marker'+markerId].openPopup();
数组示例:
var markers = [new Marker(...), new Marker(...), ...];
markers[markerIndex].openPopup();