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 弹窗类 ...
随机推荐
- React 世界的一等公民 - 组件
猪齿鱼Choerodon平台使用 React 作为前端应用框架,对前端的展示做了一定的封装和处理,并配套提供了前端组件库Choerodon UI.结合实际业务情况,不断对组件优化设计,提高代码质量. ...
- springmvc 配置拦截器
package com.aaa.zxf.interceptor; import org.springframework.boot.autoconfigure.SpringBootApplication ...
- 蓝桥杯试题 基础练习 2n皇后问题以及n皇后问题
在学习2n皇后之前,我们应该认识一下n皇后问题: 在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上.你的任务是,对于 ...
- django入门 01 创建项目
安装django库 pip install django 创建--by 终端 django-admin startproject myproject 通过命令创建的django项目,默认不含templ ...
- Win10 提示凭证不工作问题
感谢大佬:https://cloud.tencent.com/developer/article/1337081 在公司局域网远程自己计算机的时候,突然无法远程了,提示"您的凭据不工作 之前 ...
- Tomcat部署时war和war exploded区别以及打包后路径问题
感谢原文作者:keven_deng 原文链接:https://blog.csdn.net/keven_deng/article/details/104830664 war和war exploded的区 ...
- shell脚本之数组基本操作及排序
数组的基本操作及排序 1.数组定义方法: ( 6 7 9 4 3 2) 0 1 2 3 4 5 #下标号 方法一: 数组名=(value0 value1 value2 -) 方法二: 数组名=([0] ...
- js实现用按钮控制网页滚动、以及固定导航栏效果
实现效果如下: 页面内有三个按钮,分别控制页面向上.向下移动,以及暂停,并设置有导航栏,在滚动到某一位置时显示.且当用户主动控制鼠标滑轮时,滚动效果自动关闭.本页面只是演示如何实现,进行了简单的布局, ...
- nginx中的模块分类及常见核心模块有哪些
1.模块分类 核心模块:是 Nginx 服务器正常运行必不可少的模块,提供错误日志记录 .配置文件解析 .事件驱动机制 .进程管理等核心功能 标准HTTP模块:提供 HTTP 协议解析相关的功能,比如 ...
- Note -「最大团-最小度不等式」
这是什么奇怪的名字qwq. 一些定义 只为便于理解,没有苛求专业的定义. 简单无向图:不存在重边.自环的无向图. \(\delta(G)\):无向图 \(G\) 中结点的最小度数.即 \(\m ...