Leaflet API - Popup 弹出窗口 中文文档
本文介绍下 Leaflet 中 Popup 弹出窗口 API的详细使用说明。
Popup 弹出窗口 API 调用方法
用于在地图的某些位置打开弹出窗口。使用 Map.openPopup 打开弹出窗口,同时确保一次只打开一个弹出窗口(推荐使用),或者使用 Map.addLayer 打开任意多个。
使用示例
如果您只想将弹出窗口(popup)绑定到标记(marker)单击然后打开它,这其实很简单:
marker.bindPopup(popupContent).openPopup();
像折线(polylines)这样的路径叠加也有一个
bindPopup
方法。这是在地图上打开弹出窗口的更复杂的方法:
var popup = L.popup()
.setLatLng(latlng)
.setContent('<p>Hello world!<br />This is a nice popup.</p>')
.openOn(map);
Creation
构造函数 | 说明 |
---|---|
L.popup(
|
实例化一个
Popup
对象,给定一个可选的
options
对象,描述其外观和位置,以及一个可选的
source
对象,用它所指向的图层的引用来标记弹出窗口(popup)。
|
Options 选项
选项 | 类型 | 默认 | 描述 |
---|---|---|---|
pane
|
String |
'popupPane' |
Map pane where the popup will be added.
|
offset
|
Point
|
Point(0, 7) |
The offset of the popup position. |
maxWidth
|
Number |
300 |
Popup 的最大宽度,以像素为单位。 |
minWidth
|
Number |
50 |
Popup 的最小宽度,以像素为单位。 |
maxHeight
|
Number |
null |
设置后,如果其内容超过它,则在 Popup 内创建给定高度的可滚动容器。 |
autoPan
|
Boolean |
true |
如果你不想让地图做平移动画,把它设置为
false ,以适应打开的 Popup。
|
autoPanPaddingTopLeft
|
Point
|
null |
自动平移后,Popup 与地图左上角之间的边距。 |
autoPanPaddingBottomRight
|
Point
|
null |
自动平移后,Popup 与地图右下角之间的边距。 |
autoPanPadding
|
Point
|
Point(5, 5) |
相当于将左上角和右下角自动平移填充设置为相同的值。 |
keepInView
|
Boolean |
false |
如果您想防止用户在弹出窗口(popup)打开时将其移出屏幕,请将其设置为true 。
|
closeButton
|
Boolean |
true |
控制弹出窗口中是否有关闭按钮。 |
autoClose
|
Boolean |
true |
如果您想重写在打开另一个弹出框时关闭弹出框的默认行为,请将其设置为
false 。
|
closeOnEscapeKey
|
Boolean |
true |
如果你想覆盖 ESC 键关闭弹出窗口 (popup)
的默认行为,将其设置为 false 。
|
closeOnClick
|
Boolean |
* |
如果您想覆盖用户点击地图时关闭弹出窗口的默认行为,请设置它。默认为地图
closePopupOnClick
选项。
|
className
|
String |
'' |
为弹出窗口(popup)设置自定义 CSS 类名称。 |
选项 | 类型 | 默认 | 描述 |
---|---|---|---|
interactive
|
Boolean |
false |
如果为 true,popup/tooltip 将监听鼠标事件。 |
选项 | 类型 | 默认 | 说明 |
---|---|---|---|
bubblingMouseEvents
|
Boolean |
true |
当为
true 时,鼠标事件将在地图上触发相同的事件 (除非使用
L.DomEvent.stopPropagation
)。
|
选项 | 类型 | 默认值 | 说明 |
---|---|---|---|
attribution
|
String |
null |
归属控制中要显示的字符串,例如 "© OpenStreetMap 贡献者"。 它描述了图层数据,通常是对版权所有者和瓦片提供者的法律义务。 |
Events 事件
事件 | 数据 | 说明 |
---|---|---|
contentupdate
|
Event
|
当 overlay 的内容被更新时触发。 |
事件 | 数据 | 说明 |
---|---|---|
click
|
MouseEvent
|
当用户 click 或 tap 该图层时触发。 |
dblclick
|
MouseEvent
|
当用户 double-click 或 double-tap 该图层时触发。 |
mousedown
|
MouseEvent
|
当用户在该图层上按下鼠标按钮时触发。 |
mouseup
|
MouseEvent
|
当用户在该图层上释放按下的鼠标按钮时触发。 |
mouseover
|
MouseEvent
|
鼠标进入该图层时触发。 |
mouseout
|
MouseEvent
|
当鼠标离开该图层时触发。 |
contextmenu
|
MouseEvent
|
当用户在图层上点击右键时触发,如果该事件有监听者,可以防止显示默认的浏览器上下文菜单。在手机上,当用户保持单次触摸一秒钟(也叫长按)时也会触发。 |
事件 | 数据 | 说明 |
---|---|---|
popupopen
|
PopupEvent
|
当与该图层绑定的 Popup 被打开时触发 |
popupclose
|
PopupEvent
|
当与该图层绑定的 Popup 关闭时触发 |
事件 | 数据 | 说明 |
---|---|---|
tooltipopen
|
TooltipEvent
|
当绑定到该图层的 Tooltip 被打开时触发。 |
tooltipclose
|
TooltipEvent
|
当绑定到该图层的 Tooltip 关闭时触发。 |
Methods 方法
方法 | 返回值 | 说明 |
---|---|---|
openOn(
|
this |
将弹出窗口添加到地图上,并关闭之前的窗口。与
|
方法 | 返回值 | 说明 |
---|---|---|
close()
|
this |
Closes the overlay. Alternative to
|
toggle(
|
this |
Opens or closes the overlay bound to layer
depending on its current state. Argument may be
omitted only for overlay bound to layer.
Alternative to
|
getLatLng()
|
LatLng
|
Returns the geographical point of the overlay. |
setLatLng(
|
this |
Sets the geographical point where the overlay will open. |
getContent()
|
String|HTMLElement |
Returns the content of the overlay. |
setContent(
|
this |
Sets the HTML content of the overlay. If a
function is passed the source layer will be passed
to the function. The function should return a
|
getElement()
|
String|HTMLElement |
Returns the HTML container of the overlay. |
update()
|
null |
Updates the overlay content, layout and position. Useful for updating the overlay after something inside changed, e.g. image loaded. |
isOpen()
|
Boolean |
Returns |
bringToFront()
|
this |
Brings this overlay in front of other overlays (in the same map pane). |
bringToBack()
|
this |
Brings this overlay to the back of other overlays (in the same map pane). |
方法 | 返回值 | 说明 |
---|---|---|
addTo(
|
this |
将图层添加到指定的地图或图层组(LayerGroup)。 |
remove()
|
this |
从当前处于活动状态的地图中删除图层。 |
removeFrom(
|
this |
从指定的地图中删除图层 |
removeFrom(
|
this |
从指定的 |
getPane(
|
HTMLElement |
返回代表地图上指定窗格的
|
getAttribution()
|
String |
由 |
方法 | 返回值 | 说明 |
---|---|---|
bindPopup(
|
this |
将一个弹出式窗口与传入的
|
unbindPopup()
|
this |
移除之前用 |
openPopup(
|
this |
在指定的
|
closePopup()
|
this |
如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。 |
togglePopup()
|
this |
根据当前状态,打开或关闭与该层绑定的弹出窗口。 |
isPopupOpen()
|
boolean |
如果与该层绑定的弹出窗口当前已打开,则返回
|
setPopupContent(
|
this |
设置绑定到该图层的弹出窗口的内容。 |
getPopup()
|
Popup
|
返回绑定到该图层的弹出窗口。 |
方法 | 返回值 | 描述 |
---|---|---|
bindTooltip(
|
this |
将工具提示(tooltip)绑定到传入的图层
|
unbindTooltip()
|
this |
移除之前用
|
openTooltip(
|
this |
在指定的
|
closeTooltip()
|
this |
如果该图层处于打开状态,则关闭绑定到该图层的工具提示。 |
toggleTooltip()
|
this |
根据当前状态打开或关闭绑定到该图层的工具提示。 |
isTooltipOpen()
|
boolean |
如果该层绑定的工具提示当前已打开,则返回
|
setTooltipContent(
|
this |
设置绑定到该层的工具提示的内容。 |
getTooltip()
|
Tooltip
|
返回绑定到该层的工具提示。 |
方法 | 返回值 | 说明 |
---|---|---|
on(
|
this |
为对象的特定事件类型添加一个监听函数( |
on(
|
this |
添加一组 type/listener,例如
|
off(
|
this |
移除一个先前添加的监听器函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您向
|
off(
|
this |
删除一组 type/listener |
off()
|
this |
移除该对象上所有事件的所有监听器。这包括隐含的附加事件。 |
fire(
|
this |
触发指定类型的事件。您可以选择提供一个数据对象——侦听器函数的第一个参数将包含其属性,事件可以选择性地传播到事件父级。 |
listens(
|
Boolean |
如果一个特定的事件类型有任何监听器连接到它,则返回
|
once(…)
|
this |
与 |
addEventParent(
|
this |
向父级
|
removeEventParent(
|
this |
删除之前向父级
|
addEventListener(…)
|
this |
同 |
removeEventListener(…)
|
this |
同 |
clearAllEventListeners(…)
|
this |
同 |
addOneTimeEventListener(…)
|
this |
同
|
fireEvent(…)
|
this |
同
|
hasEventListeners(…)
|
Boolean |
其他API
Leaflet中文API文档手机(v.19版本)参考:《Leaflet中文API文档手机(v.19版本)》
相关阅读
声明
1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。
2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。