ArcGisFeatureLayer

new mars2d.layer.ArcGisFeatureLayer(options)

ArcGIS Server WFS矢量服务图层, 【需要引入mars2d-esri 插件库】

参数名称 类型 描述信息
options Object

参数对象,包括以下:

参数名称 类型 默认值 描述信息
url String

ArcGIS Server服务地址,如:https://sampleserver6.arcgisonline.com/arcgis/rest/services/Hurricanes/MapServer

where String 可选

用于过滤服务器端的特性的可选表达式。字符串值应该用单引号表示,即:"FIELDNAME = '字段值'";可以找到有关有效SQL语法的更多信息。

minZoom Number 可选

图层将显示在地图上的最远缩放级别。

maxZoom Number 可选

图层将显示在地图上的最近缩放级别。

token String 可选

如果您在服务需要传递令牌,它将包含在对服务的所有请求中。

proxy String 可选

代理服务URL

useCors Boolean true 可选

如果此服务在发出 GET 请求时应使用 CORS。

onEachFeature function 可选

提供了一个机会来内省图层中的各个 GeoJSON 功能。

symbol Object | function 可选

矢量数据的style样式,为Function时是完全自定义的回调处理 symbol(attr, style, feature)

参数名称 类型 描述信息
type GraphicType | String 可选

标识数据类型,默认是根据数据生成 point、polyline、polygon

styleOptions Object

Style样式,每种不同类型数据都有不同的样式,具体见各GraphicType矢量数据的style参数。

styleField String 可选

按 styleField 属性设置不同样式。

styleFieldOptions Object 可选

按styleField值与对应style样式的键值对象。

callback function 可选

自定义判断处理返回style ,示例:callback: function (attr, styleOpt){ return { color: "#ff0000" }; }

id String | Number createGuid() 可选

图层id标识

pid String | Number -1 可选

图层父级的id,一般图层管理中使用

name String '' 可选

图层名称

pane String 'overlayPane' 可选

指定图层添加到地图的哪个pane的DIV中,用于控制不同层级显示的,优先级高于zIndex。

参考:

继承

  • L.esri.FeatureLayer

成员(属性)

readonly hasOpacity : boolean

是否可以调整透明度

id : String|Number

对象的id标识

readonly isAdded : Boolean

是否已添加到地图

name : String

名称 标识

opacity : Number

透明度

pid : String|Number

对象的pid标识

show : Boolean

显示隐藏状态

方法

addFeature(feature, callback, context)ArcGisFeatureLayer

向要素图层添加新要素。如果创建成功,这也会将该功能添加到地图中。

  • 需要以有权在 ArcGIS Online 中编辑服务的用户或创建服务的用户身份进行身份验证。
  • 需要Create在服务上启用该功能。您可以通过在功能下检查服务的元数据来检查创建是否存在。
参数名称 类型 描述信息
feature Object

GeoJSON Feature对象

callback function 可选

回调方法

context Object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:

当前对象本身,可以链式调用

deleteFeature(id, callback, context)ArcGisFeatureLayer

从要素图层中删除具有提供的 id 的要素。如果该要素存在,这也会从地图中删除该要素。

  • 需要以有权在 ArcGIS Online 中编辑服务的用户或创建服务的用户身份进行身份验证。
  • 需要Create在服务上启用该功能。您可以通过在功能下检查服务的元数据来检查创建是否存在。
参数名称 类型 描述信息
id String | Number

要素的 id

callback function 可选

回调方法

context Object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:

当前对象本身,可以链式调用

deleteFeatures(ids, callback, context)ArcGisFeatureLayer

从要素层中删除具有提供的 id 的要素数组。这也会从地图中删除特征(如果存在)。

  • 需要以有权在 ArcGIS Online 中编辑服务的用户或创建服务的用户身份进行身份验证。
  • 需要Create在服务上启用该功能。您可以通过在功能下检查服务的元数据来检查创建是否存在。
参数名称 类型 描述信息
ids Array.<String> | Array.<Number>

要素的id数组

callback function 可选

回调方法

context Object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:

当前对象本身,可以链式调用

eachGraphic(method, context)GraphicLayer

遍历所有矢量数据并将其作为参数传递给回调函数

参数名称 类型 描述信息
method function

回调方法

context Object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:

当前对象本身,可以链式调用

使用示例:
fl.on('load', function  () {
  fl.eachGraphic(function(layer) {
    console.log(layer.feature);
  });
}

flyTo(options)ArcGisFeatureLayer

定位地图至当前图层数据区域

参数名称 类型 描述信息
options Object 可选

定位参数,包括:

参数名称 类型 默认值 描述信息
paddingTopLeft L.Point | Array.<Number> 可选

设置在将视图设置为适合边界时不应考虑的地图容器左上角的填充量。如果您在地图上有一些控件重叠式(如侧边栏),而且您不希望它们遮挡您正在缩放的对象,则很有用。

paddingBottomRight L.Point | Array.<Number> 可选

同上,不考虑地图容器右下角时使用。

padding L.Point | Array.<Number> 可选

相当于将左上和右下填充设置为相同的值。

maxZoom Number 可选

最大层级

animate Boolean true 可选

是否进行动画缩放。false时始终重置视图完全没有动画。

duration Number 0.25 可选

动画平移的持续时间,以秒为单位。

easeLinearity Number 0.25 可选

平移动画宽松的曲率因子 Cubic Bezier curve曲线的第三个参数。1.0表示线性动画,而这个数字越小,曲线越鞠躬。

noMoveStart Boolean false 可选

如果true,平移不会movestart在启动时触发事件(内部用于平移惯性)。

返回值:

当前对象本身,可以链式调用

getBounds()L.LatLngBounds

获取图层矩形边界

返回值:

矩形边界

getGraphicById(id)L.Layer

根据Feature 的 id取矢量数据对象

参数名称 类型 描述信息
id String | Number

Feature 的 id

返回值:

矢量数据对象

getWhere()String

返回当前where设置

返回值:

where设置

metadata(callback, context)ArcGisFeatureLayer

请求有关此要素图层的元数据。将使用error和调用回调metadata。

参数名称 类型 描述信息
callback function

回调方法

context Object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:

当前对象本身,可以链式调用

使用示例:
featureLayer.metadata(function(error, metadata){
  console.log(metadata);
});

query(callback, context)Object

返回L.esri.Query可用于查询此服务的新对象。

参数名称 类型 描述信息
callback function

回调方法

context Object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:
使用示例:
featureLayer.query()
  .within(latlngbounds)
  .where("Direction = 'WEST'")
  .run(function(error, featureCollection){
    console.log(featureCollection);
  });

setOpacity(opacity)ArcGisFeatureLayer

设置覆盖的透明度

参数名称 类型 描述信息
opacity Number

透明度,取值范围 0-1

返回值:

当前对象本身,可以链式调用

setWhere(where, callback, context)ArcGisFeatureLayer

设置新where选项并刷新图层以反映新where过滤器。

参数名称 类型 描述信息
where String

where设置

callback function 可选

回调方法

context Object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:

当前对象本身,可以链式调用

updateFeature(feature, callback, context)ArcGisFeatureLayer

更新要素图层上提供的要素。这也会更新地图上的要素。

  • 需要以有权在 ArcGIS Online 中编辑服务的用户或创建服务的用户身份进行身份验证。
  • 需要Create在服务上启用该功能。您可以通过在功能下检查服务的元数据来检查创建是否存在。
参数名称 类型 描述信息
feature Object

GeoJSON Feature对象

callback function 可选

回调方法

context Object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:

当前对象本身,可以链式调用

定义的类型

mars2d.layer.ArcGisFeatureLayer.EventType

当前类支持的EventType事件类型(包括自定义字符串事件名)

属性:
属性名称 类型 描述信息
loading String

当新功能开始加载时触发。

load String

当地图当前边界中的所有要素都已加载时触发。

createfeature String

首次加载要素图层中的要素时触发

removefeature String

当图层上的要素从地图中移除时触发

addfeature String

当先前删除的要素添加回地图时触发

click String

当用户单击(or taps)地图时触发

dblclick String

当用户双击(or double-taps)地图时触发

mousedown String

当用户在图层上按下鼠标按钮时触发

mouseover String

当鼠标进入图层时触发

mouseout String

当鼠标离开图层时触发

popupopen String

当绑定到当前图层的Popup弹窗打开时触发

popupclose String

当绑定到当前图层的Popup弹窗关闭时触发

requeststart String

当对服务的请求开始时触发。

requestend String

当对服务的请求结束时触发。

requestsuccess String

当对服务的请求成功时触发。

requesterror String

当对服务的请求响应错误时触发。

authenticationrequired String

当对服务的请求失败并需要身份验证时,这将被触发。

使用示例:
//绑定监听事件
tileLayer.on('load', function (event) {
  console.log('触发了事件',event)
});
参考: