# 地图组成与名词解释

本章主要向开发者介绍 地图 JS API 的主要构成要素、常用名词以及一些地图基础知识。


# 地图 JS API 组成结构

下图是 地图的组成结构,通过下图我们能对地图有一个大致的了解,能加快开发者对地图 JS API 功能的理解。

使用 地图 JS API 创建的地图通常由以下几部分组成:

# 地图容器 Container

在准备阶段创建的指定了id的div对象,这个div将作为承载所有图层、点标记、矢量图形、控件的容器。

# 矢量图层

选择地图样式或完全自定义您自己的地图和数据。我们的地图以超高帧率渲染 - 使地图可以流畅地响应用户反馈或脚本事件。

# 矢量图形

矢量图形,一般覆盖于底图图层之上,通过矢量的方式(路径或者实际大小)来描述其形状,用几何的方式来展示真实的地图要素,会随着地图缩放而发生视觉大小的变化,但其代表的实际路径或范围不变,如上图中红框内的折线、圆、多边形等。

# 栅格图层 Layer

地图提供了栅格图层渲染接口,可以绘制卫星影像、山体阴影图、自己开发的瓦片图等。

# 数据源 Source

地图将数据供给和图层渲染做了解耦,数据源用于定义底层数据的数据格式和加载方式,基于数据源请求的数据内容,不同的图层将其中全部或部分数据进行可视化渲染,以此完成整张地图的绘制。

# 点标记

点标记是用来标示某个位置点信息的一种地图要素,覆盖于图层之上。如图中蓝色方框中的两个点状要素。其在屏幕上的位置会随着地图的缩放和中心变化而发生改变,但是会与图层内的要素保持相对静止。

普通的点标记 (即 Marker ) ,支持将自定义图标和DOM元素作为展示内容。除了 Marker 之外为了满足不同的场景,地图 JS API 另外提供了丰富的点标记类型,比如圆点标记 、文本标记。同时我们提供了海量点、点聚合来满足大量点标记的展示需求。

# 信息窗体 Popup

信息窗体是用来描述某个位置点详细信息的一种地图要素,覆盖于图层之上,支持位置点的偏移调整和信息的屏幕显示方向调整。

地图中的Popup最终的呈现形式是DOM元素,支持将自定义DOM元素作为展示内容,支持Popup内部元素的自定义事件绑定。

# 几何图形编辑 Edit

地图提供了点、线、面、圆、椭圆、扇形、曲线面、复杂箭头等几何图形编辑功能,支持图形二次编辑,并提供了相应的接口,可以获取图形编辑后的几何。

# 地图控件

控件浮在所有图层和地图要素之上,用于满足一定的交互或提示功能。一般相对于地图容器静止,不随着地图缩放和中心变化而发生位置的变化。如上图中绿色方框中的比例尺和级别控件。


# 常用名词

# 地图级别

级别与地图的比例尺成正比,每增大一级,地图的比例尺也增大一倍,地图显示的越详细。

# 经纬度

坐标通常指经纬度坐标,地图的坐标范围大致为:东西经180度(-180——180,西半球为负,东半球为正),南北纬85度(-85——85,北半球为正,南半球为负)。

# 底图

严格意义上,底图指处于所有图层和图形最下方的一个图层。

# 地图要素

严格意义的地图要素指的是展示在地图上的地理要素。开发者自定义的点标记、矢量图形也可以看做是一种地图要素。

# 标注

我们习惯将底图上自带的标示一定信息的文字或图标称为标注,比如 POI 标注等。

# 投影 Projection

地图投影指的是将地球球面的经纬度坐标映射到地图平面坐标的变换和映射关系,地图使用 Web 墨卡托投影,也支持经纬度投影。