leaflet在天地图上添加poi兴趣点

前言

书接上节,在上一篇博客加载的天地图的基础上,加载poi兴趣点。

上节传送:使用leaflet在html中加载天地图且去掉左上角的缩放图标以及右下角的logo

一、加载poi的方法

leaflet通过 L.marker 方法用来加载poi,我们只需填入poi的经纬度即可创建poi对象,然后把创建的poi对象添加到地图上。

L.marker([22.84901, 108.29784]).addTo(map);  //将这个poi添加到地图上(注意顺序是:纬度,经度)

会使用leaflet的默认图标进行显示,如图:
在这里插入图片描述

二、改变图标样式

我们可以使用自己的图标来标识poi。首先使用 L.icon 方法,创建一个icon对象,将icon对象当成参数传递到L.marker方法中用来创建poi对象即可。

const myicon = L.icon({iconUrl: "./icons/favicon.ico",  //图标地址iconSize: [30, 30]  //图标大小[宽, 高]})L.marker([22.84901, 108.29784], {icon: myicon}).addTo(map);  //将这个poi添加到地图上

效果如图:
在这里插入图片描述

三、批量加载poi

我这里自己模拟一些poi数据,方便测试,每一条poi数据包含名称、经度、纬度、类型,数据如下:

var poi = [{name: "希望小学", lon: "108.29784", lat: "22.84901", type: ""},{name: "蜜雪冰城", lon: "109.24071", lat: " 23.73236", type: ""},{name: "天猫超市", lon: "109.43442", lat: "24.33196", type: ""},{name: "海底捞", lon: "110.30594", lat: "25.28450", type: ""}];

通过forEach方法来遍历poi数据,实现批量加载poi兴趣点。

    var poi = [{name: "希望小学", lon: "108.29784", lat: "22.84901", type: ""},{name: "蜜雪冰城", lon: "109.24071", lat: " 23.73236", type: ""},{name: "天猫超市", lon: "109.43442", lat: "24.33196", type: ""},{name: "海底捞", lon: "110.30594", lat: "25.28450", type: ""}];//更改默认的poi图标const myicon = L.icon({iconUrl: "./icons/favicon.ico",  //图标地址iconSize: [30, 30]  //图标大小[宽, 高]})//批量增加poi.forEach((p) => {L.marker([p.lat, p.lon], {icon: myicon}).addTo(map);  //将这个poi添加到地图上});

效果如图:
在这里插入图片描述

四、给poi添加事件弹窗

通过poi对象的bindPopup方法,可以实现点击某个poi图标时,弹出弹窗显示信息。

var poi = [{name: "希望小学", lon: "108.29784", lat: "22.84901", type: ""},{name: "蜜雪冰城", lon: "109.24071", lat: " 23.73236", type: ""},{name: "天猫超市", lon: "109.43442", lat: "24.33196", type: ""},{name: "海底捞", lon: "110.30594", lat: "25.28450", type: ""}];//更改默认的poi图标const myicon = L.icon({iconUrl: "./icons/favicon.ico",  //图标地址iconSize: [30, 30]  //图标大小[宽, 高]})//批量增加poi.forEach((p) => {L.marker([p.lat, p.lon], {icon: myicon}).bindPopup('<div>' + p.name + '</div>').addTo(map);  //将这个poi添加到地图上});

效果如图:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/19216.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python接口自动化(三十)--html测试报告通过邮件发出去——中(详解)

简介 上一篇&#xff0c;我们虽然已经将生成的最新的测试报告发出去了&#xff0c;但是MIMEText 只能发送正文&#xff0c;无法带附件&#xff0c;因此我还需要继续改造我们的代码&#xff0c;实现可以发送带有附件的邮件。发送带附件的需要导入另外一个模块 MIMEMultipart。还…

使用Yfinance和Plotly分析金融数据

大家好&#xff0c;今天我们用Python分析金融数据&#xff0c;使用Yfinance和Plotly绘制图表&#xff0c;带你了解在Python中使用Plotly制作图表&#xff0c;利用Plotly强大的图表功能来分析和可视化金融数据。 导语 在本文中&#xff0c;我们将深入研究Plotly&#xff0c;从…

Nginx系列之 一 入门

目录 一、Nginx概述 二、yum安装 三、nginx.conf配置文件详解 3.1 全局块 3.2 events 块 3.3 HTTP 块 四、Nginx 常用命令 五、Nginx代理 4.1 正向代理 4.2 反向代理 六、Nginx的Master-Worker模式 6.1 Master进程的作用是&#xff1f; 6.2 Worker进程的作用是&am…

【无标题】采用技术外包做项目开发,不得不说的四大注意事项

在进行多项目开发及多个研发供应商团队管理&#xff08;技术外包管理&#xff09;时&#xff0c;你是不是也遇到不少问题。 项目管理者A&#xff1a;在项目开发中聘用外包技术团队的过程中&#xff0c;我踩过太多的坑&#xff0c;换过一批又一批的供应商&#xff0c;之前遇到过…

【分布式应用】ELK 企业级日志分析系统

目录 一、ELK概述1.1、ELK 简介1.2 为什么要使用 ELK1.3完整日志系统基本特征1.4 ELK 的工作原理 二、ELK Elasticsearch 集群部署2.1环境准备2.2&#xff0e;部署 Elasticsearch 软件2.3安装 Elasticsearch-head 插件&#xff08;1&#xff09;编译安装 node&#xff08;2&…

三、CAS认证流程

一、相关概念 TGC(Ticket-granting cookie)&#xff1a;存放用户身份认证的cookie&#xff0c;在浏览器和CAS server用来明确用户身份的凭证&#xff1b;ST(Service Ticket)&#xff1a;CAS服务器通过浏览器分发给客户端服务器的票据&#xff0c;一个特定服务只能有一个唯一的…

机器学习与深度学习——利用随机梯度下降算法SGD对波士顿房价数据进行线性回归

机器学习与深度学习——利用随机梯度下降算法SGD对波士顿房价数据进行线性回归 我们这次使用随机梯度下降&#xff08;SGD&#xff09;算法对波士顿房价数据进行线性回归的训练&#xff0c;给出每次迭代的权重、损失和梯度&#xff0c;并且绘制损失loss随着epoch变化的曲线图。…

20230712-----阻塞IO驱动按键控制LED灯的亮灭

驱动程序 #include <linux/init.h> #include <linux/module.h> #include <linux/fs.h> #include <linux/device.h> #include <linux/cdev.h> #include <linux/slab.h> #include <linux/uaccess.h> #include <linux/of.h> #in…

Tomcat之配置文件详解

Tomcat 目录 安装好 Tomcat 后&#xff0c;打开它的文件夹&#xff0c;可以看到以下目录 bin:存放各种启动、关闭和其它程序的脚本 conf:配置文件及相关数据文件存放的目录 lib:Tomcat 使用的库文件存放的目录&#xff0c;如存放 Servlet 规范的 API logs:默认日志文件存放…

消息中间件选型RabbitMQ基础入门

1. 消息中间件(MQ) 1.1 概述 消息队列中间件是分布式系统中重要的组件&#xff0c;主要解决应用解耦&#xff0c;异步消息&#xff0c;流量削锋等问题&#xff0c;实现高性能&#xff0c;高可用&#xff0c;可伸缩和最终一致性架构 目前使用较多的消息队列有ActiveMQ&#xff…

【PDFBox】PDFBox操作PDF文档之创建PDF文档、加载PDF文档、添加空白页面、删除页面、获取总页数、添加文本内容、PDFBox坐标系

这篇文章&#xff0c;主要介绍PDFBox操作PDF文档之创建PDF文档、加载PDF文档、添加空白页面、删除页面、获取总页数、添加文本内容、PDFBox坐标系。 目录 一、PDFBox组件 1.1、什么是PDFBox 1.2、创建PDF文档 1.3、加载PDF文档 1.4、添加空白页面 1.5、删除某个页面 1.6…

树莓派使用Nginx 搭建轻量级网站远程访问

文章目录 1. Nginx安装2. 安装cpolar3.配置域名访问Nginx4. 固定域名访问5. 配置静态站点 转载自cpolar极点云文章&#xff1a;树莓派使用Nginx 搭建轻量级网站远程访问 安装 Nginx&#xff08;发音为“engine-x”&#xff09;可以将您的树莓派变成一个强大的 Web 服务器&#…