mapbox-gl-js - 检测图像何时接触建筑物
问题描述
如果图像触及任何建筑物,我该如何解决我将图像放在某个坐标上并向控制台发送消息?
解决方案
有趣的问题。我认为您可以通过以下方式实现此目的:
- 使用 a
Marker
将图像添加到位置(请参阅https://docs.mapbox.com/mapbox-gl-js/example/custom-marker-icons/) - 给定标记的 HTML 元素
el
,使用getBoundingClientRect()
它来查找它相对于视口的像素位置。 - 做一些数学运算以找到相对于地图的位置。
- 调用
map.queryRenderedFeatures()
这些位置,以检测标记图像区域内是否有任何建筑物。
推荐阅读
- javascript - map() 与 async 与 promise.all()
- php - 使用可变文件夹目录创建通配符子域
- c++ - 如何将偏移值设置为 QElapsedTimer
- java - 添加 if 条件会在电话管理器中退出 android 应用程序
- python - 如何在python中定义一个可以在0到1之间分配任何实数的变量?
- javascript - 如何防止模态事件监听器影响其他项目?
- reactjs - Material UI Tabpanel 不使用列
- django - 如何使用 django-celery 在 django 中正确地进行调度任务?
- r - 如何在 zip 存档中获取照片文件名
- c++ - 恢复行为清除障碍层