mars3d在heatmap上增加popup,点击任意⼀点显示该位置颜⾊对应的数值

186 篇文章 2 订阅
168 篇文章 0 订阅
问题
1.请问个heatmap的问题:
2.⽬前我想实现在heatmap上增加popup,点击任意⼀点即可显示该位置颜⾊对应的数值。尝试了两 种⽅法,均未能实现将地理位置map⾄heatmap⼆维坐标系。
我的思路
1. 通过mars的heatLayer.getRectangle({isFormat: true})取得地理的xmin, xmax, ymin, ymax。
2.1 通过heatLayer._heat?._config?.container取得canvas dom,从其style取得width, height
2.2 或者通过以下code取得width, height:
let canvasBound = heatLayer._last_mBounds,
width = canvasBound.xmax - canvasBound.xmin,
height = canvasBound.ymax - canvasBound.ymin
2. 对某地理坐标,通过以上信息将地理位置map⾄heatmap⼆维坐标
x = width * (lng - xmin) / (xmax - xmin),
y = height * (lat - ymin) / (ymax - ymin);
3. 通过heatmap instance的method获取对应位置的值:
heatLayer._heat.getValueAt({
x: String(x),
y: String(y)
})
但是heatmap显示热⼒⾊块的地⽅显示计算的数值为0,⼀些完全没有热⼒⾊块的地⽅反⽽有值。
猜测是我map地理位置=>⼆维坐标的⽅法有误,可否请您指点?谢谢
解决
在mars3d V3.3.9版本之后⽀持了此功能
问题链接: https://gitee.com/marsgis/mars3d/issues/I577N0?from=project-issue
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值