0

我使用以下代码打开一个弹出窗口

   var popup = L.popup();

 function onMapClick(e) {

 popup
.setLatLng(location)
.setContent(content)
.openOn(thisLeafletMap);
 thisLeafletMap.panTo(center);

 }

并且可以像这样设置位置和内容

 location = [51.5, -0.09];
 content = "I am a standalone popup.";

所以弹出窗口将显示在那些坐标上,我是一个独立的弹出窗口。作为弹出窗口上的文本。

现在,我的链接构造为

  a class="location" latlng="52.3395, -2.06612" content="my location" value="1">My location</a>

单击链接时,我希望它更新弹出窗口的位置和内容。所以我用

  location = $(this).attr("latlng");
  content = $(this).attr("content");

内容将得到更新。但我无法正确设置位置。

我试过了

   location = "[" + $(this).attr("latlng") + "]";

以及我能想到的所有变化。如果我提醒该位置,它会按预期显示。

我认为这是传单问题而不是 jquery 问题。

我能做些什么?

感谢您的任何帮助

4

1 回答 1

1

您的代码正在创建一个包含一个字符串的数组,而不是一个包含 2 个数字的数组。你可以这样做:

 <a class="location" lat="52.3395" lng="-2.06612" content="my location" value="1">My location</a>



   location = [$(this).attr("lat"), $(this).attr("lng")];
于 2013-07-16T11:59:22.513 回答