如何在HERE Maps完全加载后显示或隐藏自动建议搜索框
HERE Maps 地图加载完成检测实现方案
- HERE Maps 原生提供了
mapviewsync事件用于检测地图视图是否完全加载,该事件会在底图瓦片、所有图层、标记等可视元素全部渲染完成后触发,刚好匹配你的需求场景。 - 实现逻辑很简单,参考如下步骤:
- 页面初始化时先将搜索框设置为隐藏状态
- 给地图实例绑定
mapviewsync事件监听 - 事件触发后再将搜索框调整为显示状态即可
示例代码:
// 假设你已完成地图初始化,实例名为map const searchBox = document.querySelector('#search-box'); // 初始隐藏搜索框 searchBox.style.display = 'none'; // 监听地图完全加载事件 map.addEventListener('mapviewsync', function onMapLoaded() { // 显示搜索框 searchBox.style.display = 'block'; // 仅需执行一次的话,触发后移除事件监听即可 map.removeEventListener('mapviewsync', onMapLoaded); });
补充说明:如果你的地图后续会频繁切换视角、增删图层,
mapviewsync事件会在每次视图更新完成后重新触发,只需要首次加载显示搜索框的话务必记得移除事件监听,避免重复执行逻辑。
内容的提问来源于stack exchange,提问作者aiswarya
相关产品推荐
相关产品推荐

