# FeatureService

# Data

All common layers props

# MapUrl

  • 类型: String
  • 非侦听属性
  • 描述: 地图文档 URL,例如http://{ip}:{port}/igs/rest/mrms/docs/{地图名称}

# 方法

# $_getLayerInfo(layer,callback)

  • 类型: Function
  • 非侦听属性
  • 描述: 取得单个图层所对应的数据库 URL
  • 参数: layer Number 图层编号,从 0 开始
  • 参数: callback(url) Function 回调函数,回调函数参数:url String:单个图层所对应的 gdbp 地址

# $_getGDBPInfo(layer,callback)

  • 类型: Function
  • 非侦听属性
  • 描述: 取得单个图层所对应的数据库的信息
  • 参数: layer String 数据库地址,例如 gdbp://MapGISLocalPlus/wuhan_new/sfcls/武汉市
  • 参数: callback(result) Function 回调函数,回调函数参数:result Object,获取的数据库信息

# $_getFieldAtt(layer,callback)

  • 类型: Function
  • 非侦听属性
  • 描述: 根据图层 ID 或数据库地址取得数据库字段信息,新增要素或更新要素要使用到
  • 参数: layer String 图层 Id,例如 0,表示第 0 个图层,或数据库地址,例如 gdbp://MapGISLocalPlus/wuhan_new/sfcls/武汉市,表示武汉市这张表的地址
  • 参数: callback(result) Function 回调函数,回调函数参数:result Object,获取的数据库信息

# $_queryByRectangle(rectangleParameter,onSuccess,onError)

  • 类型: Function
  • 非侦听属性
  • 描述: 根据 bbox 查询要素
  • 参数: rectangleParameter RectangleParameter 查询参数
  • 参数: onSuccess(result) Function 回调函数,回调函数参数:result Object,查询到的要素集合
  • 参数: onError(result) Function 回调函数,回调函数参数:result Object,失败后的信息

# $_queryBySQL(sqlParameter,onSuccess,onError)

  • 类型: Function
  • 非侦听属性
  • 描述: 根据 bbox 查询要素
  • 参数: sqlParameter SQLParameter 查询参数
  • 参数: onSuccess(result) Function 回调函数,回调函数参数:result Object,查询到的要素集合
  • 参数: onError(result) Function 回调函数,回调函数参数:result Object,失败后的信息

# $_queryBySQL(sqlParameter,onSuccess,onError)

  • 类型: Function
  • 非侦听属性
  • 描述: 根据 SQL 查询要素
  • 参数: sqlParameter SQLParameter 查询参数
  • 参数: onSuccess(result) Function 回调函数,回调函数参数:result Object,查询到的要素集合
  • 参数: onError(result) Function 回调函数,回调函数参数:result Object,失败后的信息

# $_queryByObjectIds(objectIdsParameter,onSuccess,onError)

  • 类型: Function
  • 非侦听属性
  • 描述: 根据 ObjectIds 查询要素
  • 参数: objectIdsParameter ObjectIdsParameter 查询参数
  • 参数: onSuccess(result) Function 回调函数,回调函数参数:result Object,查询到的要素集合
  • 参数: onError(result) Function 回调函数,回调函数参数:result Object,失败后的信息

# $_queryByGeometry(geometryParameter,onSuccess,onError)

  • 类型: Function
  • 非侦听属性
  • 描述: 根据几何查询要素
  • 参数: geometryParameter GeometryParameter 查询参数
  • 参数: onSuccess(result) Function 回调函数,回调函数参数:result Object,查询到的要素集合
  • 参数: onError(result) Function 回调函数,回调函数参数:result Object,失败后的信息

# $_add(features,layer,onSuccess,onError)

  • 类型: Function
  • 非侦听属性
  • 描述: 添加要素
  • 参数: features [Feature] 要素(Feature)对象数组
  • 参数: layer String 仅支持在单个图层或数据库上操作,图层 Id,例如 0,表示第 0 个图层,或数据库地址,例如 gdbp://MapGISLocalPlus/wuhan_new/sfcls/武汉市,表示武汉市这张表的地址
  • 参数: onSuccess(result) Function 回调函数,回调函数参数:result Object,新增成功
  • 参数: onError(result) Function 回调函数,回调函数参数:result Object,新增失败

# $_update(features,layer,onSuccess,onError)

  • 类型: Function
  • 非侦听属性
  • 描述: 更新要素
  • 参数: features [Feature] 要素(Feature)对象数组
  • 参数: layer String 仅支持在单个图层或数据库上操作,图层 Id,例如 0,表示第 0 个图层,或数据库地址,例如 gdbp://MapGISLocalPlus/wuhan_new/sfcls/武汉市,表示武汉市这张表的地址
  • 参数: onSuccess(result) Function 回调函数,回调函数参数:result Object,更新成功
  • 参数: onError(result) Function 回调函数,回调函数参数:result Object,更新失败

# $_delete(objectIds,layer,onSuccess,onError)

  • 类型: Function
  • 非侦听属性
  • 描述: 删除要素
  • 参数: objectIds String 要删除的要素的 OID,多个 OID 以逗号分隔,例如"2,3,4,7,..."
  • 参数: layer String 仅支持在单个图层或数据库上操作,图层 Id,例如 0,表示第 0 个图层,或数据库地址,例如 gdbp://MapGISLocalPlus/wuhan_new/sfcls/武汉市,表示武汉市这张表的地址
  • 参数: onSuccess(result) Function 回调函数,回调函数参数:result Object,新增成功
  • 参数: onError(result) Function 回调函数,回调函数参数:result Object,新增失败

# 示例

# 中地格式

<template>
  <mapbox-map
    class="main"
    :accessToken="accessToken"
    :mapStyle="mapStyle"
    :zoom="mapZoom"
    :center="outerCenter"
    :crs="mapCrs"
  >
  </mapbox-map>
</template>

<script>
import "@mapgis/mapbox-gl/dist/mapbox-gl.css";
import Mapbox from "@mapgis/mapbox-gl";
import {
  MapboxMap,
  featureService,
  ObjectIdsParameter,
  SQLParameter,
  GeometryParameter
} from "@mapgis/webclient-vue-mapboxgl";

export default {
  components: {
    MapboxMap
  },
  data() {
    return {
      mapZoom: 3, // 地图初始化级数
      outerCenter: [130, 30], // 地图显示中心
      mapCrs: "EPSG:4326",
      MapUrl: "http://localhost:6163/igs/rest/mrms/docs/wuhan_WFS_4326"
    };
  },
  mixins: [featureService],
  mounted() {
    //通过ObjectIds查询要素
    let objectIdsParameter = new ObjectIdsParameter({
      layers: [0],
      objectIds: [10]
    });
    this.$_queryByObjectIds(objectIdsParameter, function(result) {
      console.log("result", result);
    });
    //通过SQL查询要素
    let sqlParameter = new SQLParameter({
      layers: [0],
      where: "Name = '武昌区'"
    });
    this.$_queryBySQL(sqlParameter, function(result) {
      console.log("result", result);
    });
    //通过几何查询要素
    let geometryParameter = new GeometryParameter({
      layers: layer
    });
    geometryParameter.fromGeoJSON({}); //一般通过绘图或其他插件来提供geojson
    this.$_queryByGeometry(geometryParameter, function(result) {
      console.log("result", result);
    });
    //几何联合SQL查询要素
    let param = new GeometryParameter({
      layers: layer,
      where: "area > 30"
    });
    geometryParameter.fromGeoJSON({}); //一般通过绘图或其他插件来提供geojson
    this.$_queryByGeometry(geometryParameter, function(result) {
      console.log("result", result);
    });
    //更新要素
    //先查询要素
    this.$_queryByGeometry(param, function(result) {
      //通过Feature的fromQueryResult方法将结果转换为要素集合
      let features = Feature.fromQueryResult(result);
      //更新要素
      this.$_update(features, "0", function(result) {
        console.log("更新完成:", result);
      });
    });
    //删除要素,删除第0个图层,OID为13和56的要素
    this.$_delete("13,56", "0", function(result) {
      console.log(result);
    });
    //取得单个图层所对应的数据库URL
    let vm = this;
    this.$_getLayerInfo(layer, function(url) {
      console.log("这是数据库地址", url);
      //取得单个图层所对应的数据库的信息
      vm.$_getGDBPInfo(url, function(result) {
        console.log("这是数据库信息", result);
      });
    });
  }
};
</script>

<style lang="css">
.main {
  height: 600px;
  width: 100%;
}
</style>