创建多段折线
一个主动地图上通过点击绘制折线覆盖物的方法。扩展自 Path。
示例
const layer = hnsdk.createPolyline(map, {
color: "red",
});
参数
| 入参 | 类型 | 描述 |
|---|
| map | Map | map 实例 |
| options | object | 初始化选项 |
Options 选项
| 选项 | 类型 | 默认值 | 说明 |
|---|
smoothFactor | Number | 1.0 | 在每个缩放级别简化多段线的程度。更多意味着更好的性能和更平滑的外观,而更少意味着更精确的表现。 |
noClip | Boolean | false | 禁用折线剪裁。 |
| 选项 | 类型 | 描述 |
|---|
stroke | Boolean | true | 是否沿路径绘制边框。把它设置为false ,可以禁用多边形或圆形的边框。 |
color | String | '#3388ff' | Stroke(描边)颜色 |
weight | Number | 3 | Stroke(描边)宽度,单位:像素 |
opacity | Number | 1.0 | Stroke(描边)的不透明度 |
lineCap | String | 'round' | 定义描边 结束时使用的形状 的字符串。 |
lineJoin | String | 'round' | 定义在描边 转角处使用的形状 的字符串。 |
dashArray | String | null | 一个定义描边的点画线的 图案范式的字符串。 在一些旧的浏览器中,对 Canvas-powered 图层不起作用。 |
dashOffset | String | null | 一个字符串,它定义了进入 dash 范式的距离,以 dash 开始。 在一些旧的浏览器中,对 Canvas-powered 图层不起作用。 |
fill | Boolean | depends | 是否对路径进行颜色填充。设置为 false 可以禁止对多边形或圆形的填充。 |
fillColor | String | * | 填充颜色。默认为 color 选项的值。 |
fillOpacity | Number | 0.2 | 填充的不透明度。 |
fillRule | String | 'evenodd' | 一个字符串,定义 形状的内部区域 是如何被确定的。 |
bubblingMouseEvents | Boolean | true | 当为 true时,这个路径上的鼠标事件将在地图上触发相同的事件 (除非使用 hnsdk.DomEvent.stopPropagation )。 |
renderer | Renderer | | 在这个路径上使用这个特定的 Renderer(渲染器) 实例。 优先于地图的 default renderer(默认渲染器)。 |
className | String | null | 在一个元素上设置的自定义类名。仅适用于 SVG 渲染器。 |
Events 事件
Methods 方法
| 方法名 | 返回值 | 说明 | toGeoJSON(precision?) | Object | 坐标值使用具有指定 precision 的 formatNum 函数进行四舍五入。返回折线的 GeoJSON 表示 (作为 GeoJSON LineString 或 MultiLineString 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 选项。 |
| 方法名 | 返回值 | 说明 | bindTooltip(content, options?) | this | 将工具提示(tooltip)绑定到传入的图层 content 并设置必要的事件侦听器。如果一个 Function 被传递,它将接收图层作为第一个参数,并应返回 String 或 HTMLElement。 |
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 多线段实例对象