三步搞定打卡地图

本文介绍如何在百度地图上动态展示不同用户的打卡点,通过用户名生成不同颜色,并使用Label绘制点,配合CSS实现定位图标及尖角效果,简化了自定义覆盖物的繁琐过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在利用百度地图进行添加覆盖物时,想要做到显示出,不同用户的打卡点,如上图所示。

因为要显示用户数量不定,所以想用marker类时,肯定不好,因为marker类添加的是图像标注,必须要足够的图片(当然,如果确保每个用户都有头像,可以采用这种)。当不确定用户是否有头像时,就要采用另一种了。

首先,可以根据用户名,来生成不同的颜色

首先通过解析名字匹配hash值来生成颜色(这里部分方法用的extjs的,如果是js自己替换)

//计算名字唯一颜色
function getUniqueColor(name) {
        if (Ext.isEmpty(name)) return 'transparent';

        var hex = (Math.abs(hashCode(name)) % 0xcccccc).toString(16),
            color = `#${Ext.String.leftPad(hex, 6, '0')}`;

        return color;
}

function hashCode(s) {
        if (!s) return null;
        let hash = 0,
            i, chr, len;
        if (!s.length) return hash;
        for (i =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

29号同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值