javascript - 您如何为 MapBox GS JS 中的点分配小文本标签,并将悬停/单击信息框分配给相同的?
问题描述
我有这个:
...
map.addSource('houses', { type: 'geojson', data: 'http://127.0.0.1/houses/houses.geojson' });
map.addLayer
({
'id': 'houses-layer',
'type': 'circle',
'source': 'houses',
'paint':
{
'circle-radius': 8,
'circle-stroke-width': 2,
'circle-color': 'red',
'circle-stroke-color': 'white'
}
});
这会在我的地图上放置一堆红点。这是一个好的开始。但我不知道如何在红色圆圈上方放置一个小文本,以及如何制作,如果您将鼠标光标悬停在其中一个上方,或单击其中一个,它会弹出一个信息框更多信息。
你如何做到这一点?我已经浏览 MapBox GS JS 手册好几个小时了,除了纯属意外之外,我什么也没找到。
解决方案
但我不知道如何在红色圆圈上方放置一个小文字
使用具有值的symbol
图层text-offset
。
如果您将鼠标光标悬停在其中一个上方
map.on('mouseover', 'mytextlabels', e => ...)
或单击其中之一
map.on('click', 'mytextlabels', e => ...)
它会弹出一个包含更多信息的信息框。
使用Popup
.
推荐阅读
- hadoop - Kerberos 如何在同一节点中为同一服务和同一客户端处理多个 TGT 请求?
- java - 反序列化 BigDecimal 时出错
- sql - 我不知道为什么我的 for 循环没有返回任何东西
- wso2 - wso2 API管理配置企业代理
- rxjs - RxJS toArray() 等效
- python - 如何创建具有容差的while循环
- ffmpeg - 使用 ffmpeg 从 mpeg-ts 到 dash 时 A/V 不同步
- java - 从端点获取 indexOutOfBoundException
- android - Flutter APK 内置在手机中,但打不开?
- javascript - 如果他们之间有保留,如何禁止选择日期