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类的更多相关文章

  1. Leaflet:Map类属性及方法

    1.初始化 L.map(<String> id , options ?) //用地图div的id创建 L.map(<HTMLElement>el , options?) //用 ...

  2. MarkerOpter marker操作类

    构造函数:MarkerOpter=function(p_params): p_params={} 参数描述: p_params.layer; // markerlayer p_params.imgUr ...

  3. 【Leafletjs】2.添加marker到地图

    本人建了一个Leaflet交流群:Leaflet&WebGIS  331437754 接着上篇我们在地图中添加一个marker,非常简单只需添加如下代码即可: var marker = L.m ...

  4. leaflet 结合 Echarts4 实现统计图(附源码下载)

    前言 leaflet 入门开发系列环境知识点了解: leaflet api文档介绍,详细介绍 leaflet 每个类的函数以及属性等等 leaflet 在线例子 leaflet 插件,leaflet ...

  5. 入门Leaflet之小Demo

    入门Leaflet之小Demo 写在前面 ---- WebGIS开发基础之Leaflet GIS基本概念:GIS.Map.Layer.Feature.Geometry.Symbol.Data(Poin ...

  6. leaflet地图库

    an open-source JavaScript libraryfor mobile-friendly interactive maps Overview Tutorials Docs Downlo ...

  7. ECMAScript6 中 类的封装与继承

    ECMASCRIPT6中实现了class关键字,这样使我们更容易也更形象的进行类的操作 <script type="text/javascript"> class OF ...

  8. 怎样使用CMenu类

    CMenu类从CObject类派生而来.为什么要使用CMenu类呢?AppWzard不是把菜单做好了吗?在资源编辑器上修改菜单不是很方便吗?     我是个vc++初学者,自从当斑竹以来,天天看贴子, ...

  9. UWP Popup 弹出

    一:需求 做一个类似于安卓的弹出消息框,如图.当用户点击下载或者选择时,能够从底部弹出一个提示框,用于提示用户. 二:Popup 类 不需要我们自己额外去写一个弹窗类,微软自己有一个Popup 弹窗类 ...

随机推荐

  1. node.js request请求url错误:证书已过期 Error: certificate has expired

    场景: node:8.9.3版本 报错代码: Error: certificate has expired at TLSSocket.<anonymous> (_tls_wrap.js:1 ...

  2. linux 环境变量配置方式

    linux 环境变量可以在多个文件中配置 说明: linux bash 运行模式分为两种: login shell 和non-login shell, 两种登录模式启动是加载的配置文件不一样. 1. ...

  3. Visual Studio 2022 下载链接及激活密钥

    Visual Studio 2022 下载链接:https://visualstudio.microsoft.com/zh-hans/vs/ 激活码: 专业版: TD244-P4NB7-YQ6XK-Y ...

  4. Spring service本类中方法互相调用事物失效问题

    简介 Spring事物利用的是AOP,动态代理采用CGLIB代理(默认,也可以用Proxy代理,但是Proxy代理效率低于CGLIB代理).故只要弄懂Spring的AOP实现,就知道为什么servic ...

  5. 【转】使用Docx.Core创建word表格

    原文地址:https://www.cnblogs.com/qs315/p/13533765.html 使用Docx.Core创建word表格 下载DocxCore Nuget包 当前版本 1.0.7 ...

  6. 使用 Element UI Select 组件的 value-key 属性,让绑定值可以为一个对象

    EsunR 2019-11-07 12:14:42  12264  收藏 6 分类专栏: Vue 文章标签: element-ui 版权 当我们使用 Elemet UI 的选择组件进行多选时,Sele ...

  7. 有关 iOS 的开发证书、应用标识、设备标识、配置文件以及密钥 #DF

    iOS开发过程中如果需要进行真机调试.发布需要注册申请很多证书, 以下是对iOS开发的常用证书和密钥等的逐一简单说明: 证书 iOS常用的证书包括开发证书和发布证书,无论是真机调试还是最终发布应用到A ...

  8. Linux常用命令精华讲解 上部 (下部下回分解)不要催很忙的

    Linux常用命令讲解 1.Linux命令基础 2.Linux命令帮助 3.目录与文件的基操 1.Shell是系统中运行的一种特殊程序在用户和内核之间充当"翻译官"的角色,登录li ...

  9. linux c 线程相关函数

    线程相关函数(1)-pthread_create(), pthread_join(), pthread_exit(), pthread_cancel() 创建取消线程 一. pthread_creat ...

  10. 4G无线全网通太阳能水文设备电源监测系统BMS110

    钡铼技术BMS110模块可实现4路电池电压.2路模拟量.2路数字量和1路温度测量,支持Modbus RTU over TCP和MQTT通讯协议,DC9-36V电源供电.BMS110可应用于各种有使用蓄 ...