首页 > 解决方案 > 检测图像何时接触建筑物

问题描述

如果图像触及任何建筑物,我该如何解决我将图像放在某个坐标上并向控制台发送消息?

标签: mapbox-gl-js

解决方案


有趣的问题。我认为您可以通过以下方式实现此目的:

  1. 使用 aMarker将图像添加到位置(请参阅https://docs.mapbox.com/mapbox-gl-js/example/custom-marker-icons/
  2. 给定标记的 HTML 元素el,使用getBoundingClientRect()它来查找它相对于视口的像素位置。
  3. 做一些数学运算以找到相对于地图的位置。
  4. 调用map.queryRenderedFeatures()这些位置,以检测标记图像区域内是否有任何建筑物。

推荐阅读