layerservice 
mapplat 平台可以自动生成 layerservice 服务, 如果你的项目不想独立部署一个独立的 Java 的 layerservice , 新建项目时自动申请一个 layerservice
步骤 
- 新建项目时点击让mapplat帮我自动申请一个按钮 
- 填写你的数据库连接信息, 支持的数据库有
| 数据库 | 
|---|
| SQL Server | 
| MySQL | 
| Postgres | 
| MariaDB | 
- 点击测试数据库连通性按钮, 确保数据库可以连通, 如果你不配置数据库信息也可以, 只是你在配置图层的数据源时不可以配置SQL了
提示
如果你想配置图层的数据源为 SQL 时, 测试数据库连通性 是必须的, 即使你填写了数据库的信息, 但是测试不通过也不行,必须保证数据库的测试通过,否则 mapplat 无法访问你的业务数据库了,当然就无法无法配置图层的数据源为 SQL

警告 提示
- 填写数据库的连接信息需要仔细和认真
- 确保你的数据库和mapplat部署的位置在一个网络内, 否则肯定连接测试不通过
适用场景 
- mapplat平台可以项目的业务数据库可以连通,他们处于一个网段内
优点 
- 一键就可以生成一个layerservice服务, 整个过程一分钟内完成
警告
只有管理员才能新建项目, 所以只有管理员才能看到该页面
- 无需再去部署Java版本的layerservice服务,mapplat可以帮你完全托管了
缺点 
- 所有项目的layerservice服务都有mapplat平台托管,会导致mapplat的压力比较大
- 如果数据库信息测试不通过, 将不能配置图层的数据源为SQL 
说明 
- mapplat自动生成的- layerservice服务是一个- nodejs服务
- 整个项目的信息, 项目里有哪些页面, 每个页面里哪些图层, 图层的配置等信息都是保存在sqlite里
- 每个layerservice服务背后都对应这个一个独立的sqlite存储, 方便快速迁移
Java layerservice 服务 
如果由于各种原因无法在 mapplat 里 完成 layerservice 服务的托管, 那么你只能独立部署 Java 版本的 layerservice
联系方式
邮箱:mehudeyi@163.com
 QQ:1390110605
数据存储 
layerservice 服务会在你的业务数据库里面创建4张表
| 表名 | 表的描述 | 表里数据比较大的字段 | 对应的数据类型 | 
|---|---|---|---|
| jiyue_map_tuceng_page | 整个项目的页面表 | config | text | 
| jiyue_map_tuceng | 图层表 | config | text | 
| jiyue_map_tucengstyle | 图层样式表 | style | text | 
| jiyue_map_tucengdetails | 上传的图层数据的数据表 | lnglats,property | text | 
- layerservice会在你的业务系统里自动创建这几张表的, 并会自动设置这些数据字段类型为- text的, 如果你的业务系统报个错误, 一般都是你的业务系统里已经存在 这几张表且对应的数据字段类型设置的不对导致
DANGER
修复方法就是把这些数据字段改为 text
- 他们的Java实体代码如下
java
/**
 * 页面
 */
@Data
@Entity
@Table(name = "jiyue_map_tuceng_page")
public class MapTucengPage implements java.io.Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(generator = "paymentableGenerator")
    @GenericGenerator(name = "paymentableGenerator", strategy = "assigned")
    @Column(name = "\"id\"")
    private String id;
    @Column(name = "\"name\"")//页面名称
    private String name;
    @Column(name = "\"path\"")//页面地址
    private String path;
    @Column(name = "\"comment\"")//说明
    private String comment;
    @Column(name="\"config\"",columnDefinition="TEXT") //储存json配置
    private String config;
}
//图层
@Data
@Entity
@Table(name="jiyue_map_tuceng")
public class Maptuceng implements Serializable {
	private static final long serialVersionUID = 1L;
	@Id
	@GeneratedValue(generator = "paymentableGenerator")
	@GenericGenerator(name = "paymentableGenerator", strategy = "assigned")
	private String id;
	@Column(length=50)
	private String code;
	@Column(length=100)
	private String name;
	@Column(name="\"layername\"")
	private String layername;
	@Column(name="\"pid\"")
	private String pid;
	@Column(name="\"type\"")
	private String type;
	@Column(name="\"show\"")
	private String show;
	@Column(name="\"comment\"")
	private String comment;
	@Column(name="\"sql\"",columnDefinition="TEXT")
	private String sql;
	@Column(name="\"order\"")
	private String order;
	@Column(name="\"mapView\"",columnDefinition="TEXT")
	private String mapView;//记录地图的视角
	@Column(name="\"icon\"",columnDefinition="TEXT")
	private String icon;//记录树形结构前面的目录icon
	@Column(name="\"pageId\"")
	private String pageId;//和 jiyue_map_tuceng_page 表进行关联
	@Column(name="\"linkId\"")
	private String linkId;//和 链接ID
	@Column(name="\"config\"",columnDefinition="TEXT")
	private String config;//储存json配置
}
//图层样式
@Data
@Entity
@Table(name="jiyue_map_tucengstyle")
public class MaptucengStyle implements java.io.Serializable {
	private static final long serialVersionUID = -1187301020388304410L;
	@Id
	@GeneratedValue(generator = "paymentableGenerator")
	@GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
	@Column(name="\"id\"")
	private String id;
	@Column(name="\"layername\"")
	private String layername;
	@Column(name="\"updatetime\"")
	private Date updatetime;
	@Column(name="\"markerFile\"",columnDefinition="TEXT")
	private String markerFile;
	@Column(name="\"style\"",columnDefinition="TEXT")
	private String style;
}
//图层上传的数据详情
@Data
@Entity
@Table(name = "jiyue_map_tucengdetails")
public class MapTucengDetails implements java.io.Serializable {
    private static final long serialVersionUID = -2743330570542392608L;
    @Id
    @GeneratedValue(generator = "paymentableGenerator")
    @GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
    @Column(name = "\"id\"")
    private String id;
    @Column(name = "\"name\"")
    private String name;
    @Column(name = "\"layername\"")
    private String layername;
    @Column(name = "\"type\"")
    private String type;
    @Column(name = "\"lnglats\"", columnDefinition = "TEXT")
    private String lnglats;
    @Column(name = "\"show\"")
    private String show;
    @Column(name = "\"property\"", columnDefinition = "TEXT")
    private String property;
}