Skip to content

标准版 API 概览

标准版 API (@gmap/standard) 提供完整的 ES 模块类体系,覆盖地图开发的所有方面。与简易版不同,标准版导出的是具体类,你可以 new 出任何对象,也可以继承扩展。

核心类

类别类型数说明
几何 Geometry15Point, LineString, Polygon, Circle, BoundingBox, Ellipse, 3D 类型等
符号 Symbol12Fill, Line, Marker, Text, Picture, Icon, Gradient, Model, Billboard 等
渲染器 Renderer8Simple, UniqueValue, ClassBreaks, Graduated, DotDensity, Heatmap, Mesh, Custom
图层 Layer19+Tile, VectorTile, Feature, Graphics, Image, Heatmap, Terrain, 3DTiles 等
数据源 Source11RasterTile, VectorTile, GeoJSON, WMS, WMTS, Image, Terrain, 3DTiles, Stream 等
控件 Control19Zoom, ScaleBar, Overview, MousePosition, Legend, Search, ContextMenu 等
交互 Interaction3Draw, Edit, Measure
弹窗/提示2Popup, Tooltip
样式1Style (Mapbox Style Spec)
投影1Projection
格式6GeoJson, Kml, Gpx, Shp, Wkt, Csv
工具命名空间4Measurement, Analysis, GeomUtils, ProjectionUtils

快速开始

工厂函数

ts
import { createMap } from '@gmap/standard';

const map = await createMap({
  target: 'map',
  engine: 'ol',
});

创建几何体

ts
import { Point, LineString, Polygon, Circle } from '@gmap/standard';

const point = new Point([116.397, 39.908]);
const line = new LineString([[116.3, 39.9], [116.5, 39.9]]);
const polygon = new Polygon([[[0, 0], [1, 0], [1, 1], [0, 1], [0, 0]]]);
const circle = new Circle([116.397, 39.908], 5000);

设置符号与图层

ts
import { FillSymbol, SimpleRenderer, FeatureLayer, GeoJsonSource } from '@gmap/standard';

const source = new GeoJsonSource({ id: 'my-data', data: geojsonObject });
const fill = new FillSymbol({ color: '#3388ff', opacity: 0.6 });
const renderer = new SimpleRenderer({ symbol: fill });
const layer = new FeatureLayer({ id: 'my-layer', source, renderer });

map.addLayer(layer);

使用量算工具

ts
import { Measurement } from '@gmap/standard';

const dist = Measurement.distance([[0, 0], [1, 1]]);
console.log(Measurement.formatDistance(dist)); // "156.90 km"

命名空间

命名空间说明
Measurement量算工具:距离、面积、方位角、中点、沿线路量测等
Analysis空间分析:缓冲区、叠加、最近邻、视域、等值线等
GeomUtils几何操作:联合、交集、差集、凸包、简化、验证等
ProjectionUtils投影工具:注册、查询、坐标转换等

模块结构

@gmap/standard
├── factory.ts          # createMap 工厂函数
├── geometry.ts         # 15 种几何类型
├── symbols.ts          # 12 种符号类型
├── renderers.ts        # 8 种渲染器
├── layers.ts           # 19+ 图层类型
├── sources.ts          # 11 种数据源
├── controls.ts         # 核心控件(Overview, MousePosition, Legend 等)
├── controls-extra.ts   # 扩展控件(Zoom, Compass, ScaleBar 等)
├── interaction.ts      # 交互类(Draw, Edit, Measure)
├── popup.ts            # Popup 弹窗
├── tooltip.ts          # Tooltip 提示
├── style.ts            # Style 样式
├── projection.ts       # Projection 投影
├── format.ts           # 6 种格式解析器
├── feature-collection.ts # FeatureCollection 要素集合
└── utils.ts            # Measurement, Analysis, GeomUtils, ProjectionUtils

与简易版的区别

特性简易版标准版
API 风格函数式工厂面向对象类
创建方式G.layer.tile(...)new TileLayer(...)
继承扩展不支持可以继承任何类
类型安全基础完整 TypeScript 类型
导出数量~50 个~100 个
适用场景生产环境生产级应用

相关文档

四川省交通运输综合地理服务平台 地图开发框架