0

我在http://bei.bclcmaps.com继承的一个应用程序会在单击位置时显示弹出窗口,效果很好。

但是,我需要添加基于 URL 中的内容在页面加载时自动显示弹出窗口的功能。无论是某种ID的经纬度还是什么,都无所谓,什么都行。

我遇到的问题是我无法弄清楚如何以编程方式打开一个弹出窗口。我已经尝试找出某种方法来使用wax API或moderatemaps API触发对JS中某个位置的点击,但我无法得到它。

我什至尝试使用 jQuery 手动单击,使用:

function clickAt(x, y) {
  var e = new jQuery.Event("click");
  e.pageX = 10; 
  e.pageY = 10; 
  $(".zoombox").trigger(e);
}

从那里我在缩放框上的 .click() 回调中设置了调试器,以获取示例位置的坐标,并使用 clickAt 函数尝试了这些坐标,但没有任何反应。

在 IRC 上,有人告诉我用来map.gridLayer.fire('click', {latLng: L.latLng(0, 0))触发点击,但这似乎不是一个合适的 mapbox 应用程序,因为我无法访问完整的 mapbox JS API,所以我没有mapbox.gridLayer.

有小费吗?或者也许以编程方式触发点击不是正确的方法,并且有一种更简单的方法可以在页面加载时显示预填充的弹出窗口?我没主意了。

4

2 回答 2

0

你可以做这样的事情

$(document.elementFromPoint(x, y)).click();

https://developer.mozilla.org/En/DOM:document.elementFromPoint

于 2013-08-16T21:14:34.723 回答
0

毕竟,我最终只是将它转换为使用常规的 mapbox API,让这样的事情变得更容易。

于 2013-08-19T20:56:40.173 回答