高德地图 数据可视化JS API示例学习笔记(2)——图标点 IconLayer

本文介绍如何使用Loca.IconLayer自定义地图图标,包括天气预报图标和银行网点图标,通过设置source属性指定图标来源,实现地图上的信息可视化。

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

天气预报

图形标记 - 天气预报。通过设置 source 来指定图片的链接地址或者 base64URL 字符串。

// 天气图标
    var pngs = ['baoyu', 'qing', 'daxue', 'duoyun', 'wu', 'wumai', 'yun'];

    var map = new AMap.Map('container', {
        showIndoorMap: false,
        viewMode: '3D',
        resizeEnable: true,
        mapStyle: 'amap://styles/midnight',
        features: ['bg', 'road']
    });

    var layer = new Loca.IconLayer({
        map: map,
        fitView: true,
    });
    layer.setData(districts, {
        lnglat: 'center'
    });
    layer.setOptions({
        source: function (res) {
            var i = res.index;
            return '//a.amap.com/Loca/static/manual/image/' + pngs[i % pngs.length] + '.png';
        },
        style: {
            size: 25,
        }
    });

    layer.render();

银行网点

图标 - 银行网点。通过设置 source 来指定图片的链接地址或者 base64URL 字符串。

var bankMap = {
        160104: '中国银行',
        160139: '邮储银行',
        160105: '工商银行',
        160106: '建设银行',
        160108: '交通银行',
        160107: '农业银行',
        160109: '招商银行',
        160111: '中信银行',
    };

    var vl = new Loca.IconLayer({
        map: map
    });

    vl.setData(bankData, {
        lnglat: 'location'
    });

    vl.setOptions({
        source: function(res) {
            var value = res.value;
            var typecode = value.typecode;
            // 这里需要写上 http 协议,不能忽略
            var src = 'https://a.amap.com/Loca/static/manual/image/'+ bankMap[typecode] + '.png';
            return src;
        },
        style: {
            size: 35
        }
    });

    vl.render();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值