1

我试图允许点击一个地图框标记,当点击它时,它会自动将您带到一个新链接。

这可能吗?

我目前有 10 个位置的地图,加载时缩放级别显示所有位置。当您单击某个位置时,它会将您放大到该位置。

我现在希望它在点击时将您带到一个 url,而不是放大,但是我似乎找不到任何有关如何执行此操作的文档。

我知道可以使用其中包含 url 的弹出框来完成,但是有没有办法删除额外的步骤。

谢谢

4

2 回答 2

3

您可以在您的图层上使用点击事件来点击该功能并使用您的功能的属性来构建您的链接:


map.on('click', 'layername', function(e) {
    // Here you can access e.features[0] which is the feature cliked
    // With that you can do whatever you want with your feature
});

于 2019-03-20T13:44:38.980 回答
0

Sébastien Bousquet 的回答在使用 Symbol 时有效,但如果使用Marker,您需要添加自己的点击事件监听器,例如https://developer.mozilla.org/en-US/docs/Web/API/Element/click_event .

  marker.getElement().addEventListener('click', event => {
    window.location.href = 'https://www.mapbox.com/';
  });
于 2019-03-20T22:19:30.927 回答