在利用百度地图进行添加覆盖物时,想要做到显示出,不同用户的打卡点,如上图所示。
因为要显示用户数量不定,所以想用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 =