场景

Leaflet中添加标记、折线、圆圈、多边形、弹窗显示点击处坐标:

Leaflet中添加标记、折线、圆圈、多边形、弹窗显示点击处坐标_BADAO_LIUMANG_QIZHI的博客-CSDN博客

在上面加载标记使用的是默认图标,如果要自定义图标怎么用。

官网有详细的教程

Markers With Custom Icons - Leaflet - a JavaScript library for interactive maps

注:

博客:
BADAO_LIUMANG_QIZHI的博客_霸道流氓气质_CSDN博客-C#,SpringBoot,架构之路领域博主
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

1、与官方教程一样,准备一张阴影照片,三张不同颜色的icon

2、创建ICON构造函数,相当于继承ICON,可以重新设置属性

        //创建ICON构造函数,相当于继承于ICON,可以重新设置属性var LeafIcon = L.Icon.extend({options: {shadowUrl: './icon/leaf-shadow.png', //阴影地址iconSize: [38, 95],  //图标宽高shadowSize: [50, 64], //阴影宽高iconAnchor: [22, 94], //图标锚点shadowAnchor: [4, 62], //阴影锚点popupAnchor: [-3, -76] //弹出框弹出位置,相对于图标锚点}});

3、创建多个icon

        //创建多个iconvar greenIcon = new LeafIcon({iconUrl: './icon/leaf-green.png'}),redIcon = new LeafIcon({iconUrl: './icon/leaf-red.png'}),orangeIcon = new LeafIcon({iconUrl: './icon/leaf-orange.png'});

4、创建marker添加到地图上

        //创建marker添加到地图上L.marker([36.09, 120.35], {icon: greenIcon}).bindPopup("I am a green leaf.").addTo(map);L.marker([36.13, 120.25], {icon: redIcon}).bindPopup("I am a red leaf.").addTo(map);L.marker([36.16, 120.15], {icon: orangeIcon}).bindPopup("I am an orange leaf.").addTo(map);

5、完整代码

​
<!doctype html>
<html lang="en"><head><meta charset="UTF-8"><title>leaflet自定义标记图标</title><link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css" /><style>html,body,#map {padding: 0;margin: 0;width: 100%;height: 100%;overflow: hidden;}</style>
</head><body><div id="map"></div><script type="text/javascript" src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"></script><script type="text/javascript">var map = L.map('map').setView([36.09, 120.35], 13);L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {attribution: '&copy; <a href="OpenStreetMaphttps://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'}).addTo(map);//创建原始图标ICON//创建ICON构造函数,相当于继承于ICON,可以重新设置属性var LeafIcon = L.Icon.extend({options: {shadowUrl: './icon/leaf-shadow.png', //阴影地址iconSize: [38, 95],  //图标宽高shadowSize: [50, 64], //阴影宽高iconAnchor: [22, 94], //图标锚点shadowAnchor: [4, 62], //阴影锚点popupAnchor: [-3, -76] //弹出框弹出位置,相对于图标锚点}});//创建多个iconvar greenIcon = new LeafIcon({iconUrl: './icon/leaf-green.png'}),redIcon = new LeafIcon({iconUrl: './icon/leaf-red.png'}),orangeIcon = new LeafIcon({iconUrl: './icon/leaf-orange.png'});//创建marker添加到地图上L.marker([36.09, 120.35], {icon: greenIcon}).bindPopup("I am a green leaf.").addTo(map);L.marker([36.13, 120.25], {icon: redIcon}).bindPopup("I am a red leaf.").addTo(map);L.marker([36.16, 120.15], {icon: orangeIcon}).bindPopup("I am an orange leaf.").addTo(map);</script>
</body></html>​

6、效果

Leaflet中自定义marker的icon图标相关推荐

  1. html中自定义浏览器标题栏小图标

    html中自定义浏览器标题栏小图标 很多的网站标题栏都会加上独特而专属的小图标,今天学习HTML进阶,刚好学到了,便来记录一下啦!!!希望和我一样的菜鸟小伙伴能够学到知识哦!!! 案例 <!DO ...

  2. 在Leaflet中自定义4490坐标系

    项目背景:用leaflet中加载天地图,并采用4490坐标系 问题:leaflet默认采用EPSG3857坐标系,也定义了EPSG4623坐标系,这两种坐标系比较通用,也能够满足大部分的开发需求. 鉴 ...

  3. html中给地址栏添加icon图标

    <link rel="icon" href="images/logo.ico" type="image/x-icon"/> 也可 ...

  4. 在Vue3中使用Element Plus Icon图标的几种方式

    安装 Element Plus $ npm install @element-plus/icons 在main.js 引入 import * as ElIcon from '@element-plus ...

  5. 高德地图marker添加属性、更换icon图标

    为高德地图marker添加属性 首先创建marker //创建iconvar icon = new AMap.Icon({size: new AMap.Size(25, 34),image: '/im ...

  6. vue在列表和下拉框中显示icon图标

    vue在列表和下拉框中显示icon图标 一. 在项目中引入阿里云icon图标 二. 在data中定义icon图标列表 三. 在下拉框中显示icon图标 四. 在列表中显示icon图标 五. 在el-c ...

  7. 微信小程序项目中使用icon图标

    效果: 步骤: 1.先让ui负责人把你的账号加入到项目中,加入到项目中后就可以在icon图标库中看到该项目 2.在小程序中使用 新建一个view,在上面加一个class,复制icon名字上去即可,注意 ...

  8. iOS开发:设置App名称,设置App icon图标,设置App启动图

    在App开发过程中,需要设置App的名字.icon图标.启动图等,也难免会遇到修改App的名字.icon图标.启动图等,下面就来谈谈这三个部分的具体设置步骤. 一.设置及修改App icon图标的步骤 ...

  9. 小程序开发中使用公共组件icon丢失问题

    在父组件中调用子组件icon图标不见 开始以为是自己将icon.wxss,单独放在pages,导致调用icon时公共组件无法显示,然后将icon文件夹移到根文件夹下,但是还是显示不成功,于是去子组件页 ...

最新文章

  1. wireshark: no interface can be used for capturing in this system
  2. hbase coprocessor的分析
  3. 后端 消息 转发_SAP PO 消息报文应用2例(永久保存SAP PO中间件消息之四)
  4. java ee 期末考试_JAVA EE 期末试题 (1)
  5. 【网络安全】 利用 EHole 进行红队快速批量打点
  6. mybatis的dao向mapper.xml传入多参数
  7. django 中使用 channels 实现websocket
  8. IOS炫酷的引导界面
  9. go导出mysql中的excel表,MySQL导出数据,并转存到Excel表格中
  10. Kali linux 学习笔记(十三)主动信息收集——端口扫描(UDP扫描、TCP扫描) 2020.2.22
  11. 同义词相似度可以怎样计算
  12. 盘点开发人员都应该了解的7种JavaScript设计模式
  13. 推荐 25 个优雅的 jQuery Tooltip 插件
  14. easyui之combo控件分析
  15. 《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》论文翻译
  16. 硬盘突然变raw格式_磁盘分区变成RAW格式怎么办?手把手教你解决方法
  17. java多线程之Callable接口
  18. dnf选择服务器显示数字,DNF:遴选属性如何选择?两种方法精确找到最优解
  19. Vue Loading插件
  20. uniapp购物车界面模板

热门文章

  1. linux——文件输入输出管理
  2. 幽暗统领 树的重心 牛客白月赛44
  3. 【String类、static、Arrays类、Math类】
  4. Java面试宝典系列之基础面试题String、变量、类与对象、集合类、SSH(二)
  5. pc工具不支持stb的加密方式_如何选择加密狗?九大标准
  6. itext java_iText - PDF类库 - 组件类库 - JAVA开源项目 - 开源吧
  7. python随机抽取人名_用Python打造一个CRM系统(五)
  8. 计算机硬件价钱分配,电脑基础知识计算机硬件基础课件.ppt
  9. 5不触发系统键盘_关于光轴,你所不知道的冷知识
  10. 华为路由器固件_【卖萌推荐】路由器推荐第二期