Skip to content

layerservice

mapplat 平台可以自动生成 layerservice 服务, 如果你的项目不想独立部署一个独立的 Javalayerservice , 新建项目时自动申请一个 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整个项目的页面表configtext
jiyue_map_tuceng图层表configtext
jiyue_map_tucengstyle图层样式表styletext
jiyue_map_tucengdetails上传的图层数据的数据表lnglats , propertytext
  • 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;

}

This document is generated by vitepress and Edit by deyihu