创建多段折线

一个主动地图上通过点击绘制折线覆盖物的方法。扩展自 Path

示例

const layer = hnsdk.createPolyline(map, {
  color: "red",
});

参数

入参类型描述
mapMapmap 实例
optionsobject初始化选项

Options 选项

选项类型默认值说明
smoothFactorNumber1.0 在每个缩放级别简化多段线的程度。更多意味着更好的性能和更平滑的外观,而更少意味着更精确的表现。
noClipBooleanfalse禁用折线剪裁。
选项类型描述
strokeBooleantrue 是否沿路径绘制边框。把它设置为false ,可以禁用多边形或圆形的边框。
colorString'#3388ff'Stroke(描边)颜色
weightNumber3Stroke(描边)宽度,单位:像素
opacityNumber1.0Stroke(描边)的不透明度
lineCapString'round' 定义描边 结束时使用的形状 的字符串。
lineJoinString'round' 定义在描边 转角处使用的形状 的字符串。
dashArrayStringnull 一个定义描边的点画线的 图案范式的字符串。 在一些旧的浏览器中,对 Canvas-powered 图层不起作用。
dashOffsetStringnull 一个字符串,它定义了进入 dash 范式的距离,以 dash 开始。 在一些旧的浏览器中,对 Canvas-powered 图层不起作用。
fillBooleandepends 是否对路径进行颜色填充。设置为 false 可以禁止对多边形或圆形的填充。
fillColorString* 填充颜色。默认为 color 选项的值。
fillOpacityNumber0.2填充的不透明度。
fillRuleString'evenodd' 一个字符串,定义 形状的内部区域 是如何被确定的。
bubblingMouseEventsBooleantrue 当为 true时,这个路径上的鼠标事件将在地图上触发相同的事件 (除非使用 hnsdk.DomEvent.stopPropagation )。
rendererRenderer 在这个路径上使用这个特定的 Renderer(渲染器) 实例。 优先于地图的 default renderer(默认渲染器)
classNameStringnull在一个元素上设置的自定义类名。仅适用于 SVG 渲染器。
事件数据说明
clickMouseEvent当用户 click(或 tap)图层时触发。
dblclickMouseEvent当用户 double-click(或 double-tap)图层时触发。
mousedownMouseEvent当用户在图层上按下鼠标按钮时触发。
mouseupMouseEvent当用户释放在图层上按下的鼠标按钮时触发。
mouseoverMouseEvent当鼠标进入图层时触发。
mouseoutMouseEvent当鼠标离开图层时触发。
contextmenuMouseEvent 当用户在图层上点击右键时触发,如果此事件有监听者,则阻止默认的浏览器上下文菜单显示。在移动设备上,当用户长按时,也会在手机上触发。

Events 事件

事件名数据说明
addEvent在图层添加到地图后触发
removeEvent从地图中移除图层后触发
事件名数据说明
popupopenPopupEvent当绑定到该层的 popup 打开时触发
popupclosePopupEvent当绑定到该层的 popup 关闭时触发
事件名数据说明
tooltipopenTooltipEvent当绑定到该层的 tooltip 打开时触发。
tooltipcloseTooltipEvent当绑定到该层的 tooltip 关闭时触发。

Methods 方法

方法名返回值说明
toGeoJSON(precision?)Object

坐标值使用具有指定 precisionformatNum 函数进行四舍五入。返回折线的 GeoJSON 表示 (作为 GeoJSON LineStringMultiLineString Feature)。

getLatLngs()LatLng[]

返回 path(路径)中的点的数组,如果是多段折线,则返回点的嵌套数组。

setLatLngs(latlngs)this

用给定的地理点数组替换多段折线中的所有点。

isEmpty()Boolean

如果折线没有经纬度,则返回 true

closestLayerPoint(p)Point

返回折线上最接近 p 的点。

getCenter()LatLng

返回折线的中心坐标 (centroid) 。

getBounds()LatLngBounds

返回路径的 LatLngBounds

addLatLng(latlng, latlngs?)this

将一个给定的点添加到折线上。默认情况下,如果是多段折线,会添加到折线的第一个环上,但是可以通过传递一个特定的环作为LatLng数组来重写(你可以提前用 getLatLngs访问)。

方法名返回值说明
addTo(map)this

将图层添加到指定的地图或图层组(LayerGroup)。

remove()this

从当前处于活动状态的地图中删除图层。

removeFrom(map)this

从指定的地图中删除图层

removeFrom(group)this

从指定的 LayerGroup 中删除该图层。

getPane(name?)HTMLElement

返回代表地图上指定窗格的 HTMLElement。如果 name 被省略,则返回该层的窗格。

getAttribution()String

attribution 控件使用,返回 attribution 选项

方法名返回值说明
bindPopup(content, options?)this

将一个弹出式窗口与传入的 content 层绑定,并设置必要的事件监听器。如果 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindPopup()this 移除之前用 bindPopup 绑定的弹出窗口。

openPopup(latlng?)this

在指定的 latlng 处打开绑定的弹出窗口,如果没有设置 latlng,则在默认的位置打开弹窗(popup)。

closePopup()this

如果与当前图层绑定的弹窗(popup)时打开的,则关闭当前弹窗。

togglePopup()this

根据当前状态,打开或关闭与该层绑定的弹出窗口。

isPopupOpen()boolean

如果与该层绑定的弹出窗口当前已打开,则返回 true

setPopupContent(content)this

设置绑定到该图层的弹出窗口的内容。

getPopup()Popup

返回绑定到该图层的弹出窗口。

方法名返回值说明
bindTooltip(content, options?)this

将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 StringHTMLElement

unbindTooltip()this

移除之前用 bindTooltip 绑定的工具提示(tooltip)。

openTooltip(latlng?)this

在指定的 latlng 处打开绑定的工具提示(tooltip),如果没有指定 latlng,则在默认的锚点打开工具提示(tooltip)。

closeTooltip()this

如果该图层处于打开状态,则关闭绑定到该图层的工具提示。

toggleTooltip()this

根据当前状态打开或关闭绑定到该图层的工具提示。

isTooltipOpen()boolean

如果该层绑定的工具提示当前已打开,则返回 true

setTooltipContent(content)this

设置绑定到该层的工具提示的内容。

getTooltip()Tooltip

返回绑定到该层的工具提示。

方法名返回值说明
on( type, fn, context?)this

为对象的特定事件类型添加一个监听函数(fn)。你可以选择性地指定监听器的上下文(这个关键字将指向的对象)。你也可以传递几个空格分隔的类型(例如,'click dblclick')。

on(eventMap)this

添加一组 type/listener,例如 {click: onClick, mousemove: onMouseMove}

off( type, fn?, context?)this

移除一个先前添加的监听器函数。如果没有指定函数,它将从对象中删除该特定事件的所有监听器。请注意,如果您向 on 传递了一个自定义的上下文,您必须向 off 传递相同的上下文,以便删除监听器。

off(eventMap)this

删除一组 type/listener

off()this

移除该对象上所有事件的所有监听器。这包括隐含的附加事件。

fire( type, data?, propagate?)this

触发指定类型的事件。您可以选择提供一个数据对象——侦听器函数的第一个参数将包含其属性,事件可以选择性地传播到事件父级。

listens( type, propagate?)Boolean

如果一个特定的事件类型有任何监听器连接到它,则返回 true。验证可以选择性地被传播,如果父级有监听器连接到它,它将返回true

once()this

on(...)的行为一样,不过监听器只会被触发一次后然后被删除。

addEventParent(obj)this

向父级 Evented 添加事件

removeEventParent(obj)this

删除之前向父级 Evented 添加的事件

addEventListener()this

on(…)

removeEventListener()this

off(…)

clearAllEventListeners()this

off()

addOneTimeEventListener()this

once(…)

fireEvent()this

fire(…)

hasEventListeners()Boolean

listens(…)

返回

Polyline 多线段实例对象

Last Updated:
Contributors: 小小志