Leaflet:Marker、Popup类
Marker、Popup、Tooltip类都是继承自Layer类:Event与Layer
Marker

1、用例
L.marker([41,123]).addTo(map);
2、实例化
L.marker(<LatLng> latlng , <Marker options> options)
3、参数
icon //Icon实例,作为该Marker的显示图标。不写则用默认Marker的Icon,即我们之前给出的那个Marker图像
keyboard //是否用键盘标记该Marker,如果是true,你可以通过按回车键实现点击该Marker的功能,默认true
title //一个显示在Marker上的Browser Tooltip,鼠标在Marker上悬停一段时间可以看到
zIndexOffset //标识Marker的zIndex,如果一个两个Marker相距很近,则在地图上表示时,高zIndex的Marker会覆盖在低zIndex的上边
opcity //透明度 0-1
riseOnHover //默认false,如果设置为true,那么当你鼠标移到该Marker上时它会覆盖在其他Marker上边。但是当移开鼠标后,它跟其他Marker的位置关系还是遵从于zIndex的大小
riseOffset //riseOnHover的机制是,鼠标悬停的Marker的zIndex加上riseOffset得到一个新的zIndex,鼠标悬停处的Marker会覆盖在所有小于该新的zIndex的Marker之上;默认250 //与拖动(Draggable)相关的参数
draggable //是否可拖动,默认false
autoPan //当拖动该Marker到地图边缘时,地图是否发生平移(以使可以把该Marker拖动到更远的范围),默认false
autoPanPadding //当Marker离地图边缘多近时,地图开始平移
autoPanSpeed //平移速度(单位pixel)
4、方法
除了可以用继承而来的Layer的方法外,Marker还有一些特有的方法:
getLatLng() //返回Marker的地理坐标,LatLng类型
setLatLng(<LatLng>latlng) //改变Marker位置到给定坐标
serZIndexOffset(n) //改变该Marker的zIndex offset
setOpacity(n) //改变透明度
5、Properties
Handler
dragging //类型是Handler,是Marker进行dragging时的Handler。
例子:
marker.dragging.disable();//不允许Marker进行拖动
Popup
用Map.openPopup()一次打开一个Popup,用Map.addLayer()可以打开任意多的Popup。
如果仅仅想为一个Layer对象,比如Marker或者Polygon等添加一个Popup并且打开,那很简单:
marker.bindPopup(Content).openPopup();
下面这个例子,是通过创建Popup对象的方式显示Popup:
var popup =L.popup()
.setLatLng(latlng)
.setContent(Content)
.openOn(map);
1、实例化
L.popup(options? )
2、参数
maxWidth //最大宽度,单位pixel
minWidth
maxHeight
autoPan //默认true,如果设置为false,那么在Map将不会把视角移动到该Popup处
keepInView //默认false,如果设置为true,那么你拖动地图时没办法把该popup移动到视图以外。
//但是关上该Popup后就可以拖动了,所以该参数只是保证Popup本身始终在视图以内
//如果之前有一个Popup已经打开,请保证它们在同一个视图内,否则会错误
closeButton //默认true,如果设置为false,那么popup右上角将不会显示关闭的×
autoClose //默认true,如果设置为false,那么在打开另一个Popup时该Popup将不会关闭
3、方法
getLatLng() //返回地理坐标
setLatLng(<LatLng>latlng)
getContent()
setContent(Content)
update() //更新该Popup的内容、布局以及位置
bringToFront() //将该Popup覆盖显示在其他Popup之前
bringToBack() //将该Popup显示在其他Popup之后
openOn(<Map> map)//在map上显示该Popup同时关闭之前的Popup,效果等同于map.openPopup(popup)
4、补充
三种打开Popup的方法:
//假设该Popup对象为popup
//1、Map.openPopup
map.openPopup(popup) //2、popup
popup.addTo(leafletMap)
popup.openOn(leafletMap)//关闭之前所有的Popup //3、Layer.openPopup
var marker =L.marker(latlng).bindPopup(Content).addTo(leafletMap);
marker.openPopup();
只有popup.openOn(leafletMap)会关闭之前的所有Popup,而剩下三种只有在点击时才会关闭之前的Popup
Leaflet:Marker、Popup类的更多相关文章
- Leaflet:Map类属性及方法
1.初始化 L.map(<String> id , options ?) //用地图div的id创建 L.map(<HTMLElement>el , options?) //用 ...
- MarkerOpter marker操作类
构造函数:MarkerOpter=function(p_params): p_params={} 参数描述: p_params.layer; // markerlayer p_params.imgUr ...
- 【Leafletjs】2.添加marker到地图
本人建了一个Leaflet交流群:Leaflet&WebGIS 331437754 接着上篇我们在地图中添加一个marker,非常简单只需添加如下代码即可: var marker = L.m ...
- leaflet 结合 Echarts4 实现统计图(附源码下载)
前言 leaflet 入门开发系列环境知识点了解: leaflet api文档介绍,详细介绍 leaflet 每个类的函数以及属性等等 leaflet 在线例子 leaflet 插件,leaflet ...
- 入门Leaflet之小Demo
入门Leaflet之小Demo 写在前面 ---- WebGIS开发基础之Leaflet GIS基本概念:GIS.Map.Layer.Feature.Geometry.Symbol.Data(Poin ...
- leaflet地图库
an open-source JavaScript libraryfor mobile-friendly interactive maps Overview Tutorials Docs Downlo ...
- ECMAScript6 中 类的封装与继承
ECMASCRIPT6中实现了class关键字,这样使我们更容易也更形象的进行类的操作 <script type="text/javascript"> class OF ...
- 怎样使用CMenu类
CMenu类从CObject类派生而来.为什么要使用CMenu类呢?AppWzard不是把菜单做好了吗?在资源编辑器上修改菜单不是很方便吗? 我是个vc++初学者,自从当斑竹以来,天天看贴子, ...
- UWP Popup 弹出
一:需求 做一个类似于安卓的弹出消息框,如图.当用户点击下载或者选择时,能够从底部弹出一个提示框,用于提示用户. 二:Popup 类 不需要我们自己额外去写一个弹窗类,微软自己有一个Popup 弹窗类 ...
随机推荐
- HTTP状态码1XX深入理解
前段时间看了<御赐小仵作>,里面有很多细节很有心.看了一些评论都是:终于在剧里能够看到真正在搞事业.发了工资第一时间还钱的正常人了.我印象比较深的是王府才能吃上的葡萄.觉得非常合理.剧里说 ...
- Spring @SessionAttributes注解 @ModelAttribute注解
一.@SessionAttribute详解 如果多个请求之间需要共享数据,就可以使用@SessionAttribute. 配置的方法: 在控制器类上标注@SessionAttribute. 配置需要共 ...
- 连接mysql出现“Unable to load authentication plugin 'caching_sha2_password”错误
这是mysql 8.0版本才出现的问题,原因是mysql 8.0 默认使用 caching_sha2_password 身份验证机制 -- 从原来的 mysql_native_password 更改为 ...
- 解决tomcat同时部署两个SpringBoot应用报异常InstanceAlreadyExistsException
问题描述:Caused by: javax.management.InstanceAlreadyExistsException: com.alibaba.druid.pool:name=primary ...
- JSP中的请求转发与重定向
在说请求转发和重定向之前,得了解下JSP九大内置对象中的response和request response:将服务器端数据发送到客户端,可通过在客户端浏览器中显示,用户浏览页面的重定向以及在客户端创建 ...
- 通过String获取字符数组
方法一: public void getChars(int start,int end,char c[],int offset) 作用是将当前字符串从start到end-1位置上的字符复制到字符数组c ...
- JavaWeb中jsp路径斜杆(/)跟没斜杆的路径映射问题
在JavaWeb开发中,只要是写URL地址,那么建议最好以"/"开头,也就是使用绝对路径的方式,那么这个"/"到底代表什么呢?可以用如下的方式来记忆" ...
- ABCD四个顺序执行方法,拓展性延申
今天在群里,有人问 有几个void返回值的方法,但是我想让这几个方法有执行顺序,要怎么处理,ABCD 四个方法,依次执行,但是这几个方法都是无返回值的 这个问题其实很简单,如果方法是同步方法,直接四个 ...
- 基于双TMS320C6678 + XC7K420T的6U CPCI Express高速数据处理平台
1.板卡概述 板卡由我公司自主研发,基于6UCPCI架构,处理板包含双片TI DSP TMS320C6678芯片:一片Xilinx公司FPGA XC7K420T-1FFG1156 芯片:六个千兆网口( ...
- Typora软件的使用
Typora软件 一.简介 1.该软件编写文档采用markdown格式是目前最为频繁的一种格式 2.该软件生成的文档后缀名是.md结尾 3.下载网址 https://www.typora.io/ 二. ...