0

我在http://bei.dev.bclcmaps.com/有一个 mapbox 地图,它会在单击标记时打开弹出窗口。

我的问题是我需要一种方法来根据 URL 中的值设置默认弹出窗口以在页面加载时打开。这可以是纬度和经度或其他值,无论是最简单的。

我已经对此进行了一段时间的尝试,看来我要么需要:

  1. 通过 Mapbox JS API 以编程方式打开一个弹出窗口,我无法弄清楚,因为我的弹出窗口似乎是在单击标记时自动生成的,或者
  2. 以编程方式单击标记以打开其弹出窗口。我无法弄清楚这一点,因为 1)我不知道如何通过 lat/lon 找到标记,以及 2)我无法弄清楚如何使用 JS 单击标记。

我试过这个:

map.gridLayer.fire('click', {latLng: L.latLng(28.04419, -81.947864)});

它关闭了任何现有的打开弹出窗口,但似乎没有打开它自己的。我还尝试挖掘地图和传单对象以查看位置/标记数据是否存储在其中,除了瓷砖我找不到任何东西。

我能找到的大多数示例似乎都在使用我没有使用的 GeoJSON,这让事情变得很困难。

有什么建议吗?

4

2 回答 2

2
map.fireEvent('click', {latlng: L.latLng(28.04419, -81.947864)});

你很接近 - 'click' 事件需要一个名为 'latlng' 的 latLng 对象(小写)

于 2013-08-20T16:08:11.000 回答
0

对于 mapbox gl,您当前可以使用 map.fire('click', [-118.3214,34.0318])

但它可能会在未来被弃用https://github.com/mapbox/mapbox-gl-js/blob/master/CHANGELOG.md#0450

于 2019-08-17T04:38:19.533 回答