mapbox基础,style样式汇总,持续更新

👨‍⚕️ 主页: gis分享者
👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅!
👨‍⚕️ 收录于专栏:mapbox 从入门到精通

文章目录

  • 一、🍀前言
  • 二、🍀根属性
    • 2.1 sources 属性
      • 2.1.1 vector
      • 2.1.2 raster
      • 2.1.3 raster-dem
      • 2.1.4 geojson
      • 2.1.6 image
      • 2.1.5 video
    • 2.2 layers 属性
      • 2.2.1 fill
      • 2.2.2 line
      • 2.2.3 circle
      • 2.2.4 symbol
      • 2.2.5 background
      • 2.2.6 raster
      • 2.2.7 heatmap
      • 2.2.8 hillshade
      • 2.2.9 fill-extrusion
  • 三、🍀总结


一、🍀前言

style样式是mapbox的核心,本文详细介绍mapbox的style样式用法,方便查询使用。希望能帮助到您,感谢支持~

二、🍀根属性

version:版本号(必填,且值必须为 8)

"version": 8

name:名称(可选,用于给 style 取名,方便阅读)

"name": "myMap"

metadata:元数据(可选,用于给 style 附加一些任意属性。为避免冲突,为避免冲突,建议添加前缀,如 mapbox:)

"metadata": {"mapbox:name":"demo"
}

center:地图的默认中心点(可选,由 经度 和 纬度 构成)

"center": [116.4, 39.9]

zoom:地图的默认缩放层级(可选,值越大,越靠近地表。mapbox 采用的是无极缩放,范围一般为 0 ~ 24)

"zoom": 8

bearing:地图的默认方位角(可选,表示 地图视口正上方中心点 在地图上 北偏东 的角度。默认值为 0)

"bearing": 0

pitch:地图的默认倾斜角度(可选,默认值为 0,范围为 0 ~ 60)

"pitch": 0

sprite:雪碧图(可选,用来指定获取雪碧图及其元数据的 URL)

sprite 的音译是 雪碧,直译是 精灵,表示不受地图旋转缩放影响的图标等,类似精灵漂浮在空中。
当有 layer 使用了 background-pattern、fill-pattern、line-pattern、fill-extrusion-pattern、icon-image 等属性时,sprite 必填。

"sprite": "mapbox://sprites/mapbox/bright-v8"

当指定了 sprite 后,mapbox 会自动生成雪碧图的完整请求地址,分别如下:

`${sprite}.png`
`${sprite}.json`

如果浏览器进行了缩放,则会加上缩放 DPI 因子 @2x,如下:

`${sprite}@2x.png`
`${sprite}@2x.json`

glyphs:字形符号(可选,用来指定加载以 PBF 格式设置的 有向距离场 字形的 URL 模板)
URL 模板必须带有占位符 {fontstack} 和 {range}。
当有 layer 使用了 text-field 属性时,glyphs 必填。

"glyphs": "mapbox://fonts/mapbox/{fontstack}/{range}.pbf"

transition:全局的过渡动画属性(可选,用来作为所有过渡动画属性的默认值)

"transition": {
"duration": 300, // 过渡的持续时间(可选,单位:毫秒,默认值为 300)
"delay": 0 // 延迟多久开始过渡(可选,单位:毫秒,默认值为 0)
}

light:全局的光源(可选)

"light": {"anchor": "viewport", // 锚点,指定作用的目标(可选,可选值 map、viewport,默认值为 viewport)"position": [1.15,210,30], // 位置(可选,默认值为 [1.15,210,30])"color": "white", // 颜色(可选,默认值为 #ffffff)"intensity": 0.5 // 强度(可选,取值范围为 0 ~ 1,默认值为 0.5)
}

2.1 sources 属性

sources:数据源集合(必填,用于包含一系列数据源 source,这些数据源提供了在地图上显示的数据)
sources 是对象 {} 的形式,其属性名就是 数据源的名称(或者说 数据源的 id),这样可以根据 数据源的名称(或者说 数据源的 id)快速获取数据源的信

"sources": {}

每个数据源 source 都有一个 type 属性,用于指定其具体的类型:

  • vector:矢量
  • raster:栅格
  • raster-dem:栅格化的数字高程模型
  • geojson: 数据源
  • image:图片
  • video:视频

2.1.1 vector

vector:矢量切片数据源

"sources":{"vector-source": {"type": "vector", // 类型(必填)"url": "mapbox://mapbox.mapbox-streets-v6" // TileJSON 的请求地址(可选)"tiles": [ // 用于指定一个或多个切片数据源的请求地址(可选,和 TileJSON 中的 tiles 属性一致)"http://a.example.com/tiles/{z}/{x}/{y}.pbf","http://b.example.com/tiles/{z}/{x}/{y}.pbf"],"bounds": [-180,-85.051129,180,85.051129], // 边界坐标点(可选,用于限定切片的显示范围,默认值为 [-180,-85.051129,180,85.051129])"scheme":"xyz", // 切片坐标系方案(可选,可选值为 xyz、tms,默认值为 xyz)"minzoom": 0, // 最小层级(可选,默认值为 0)"maxzoom": 22, // 最大层级(可选,默认值为 22)"attribution": "" // 属性信息(可选,用于地图展示时给用户看的一些信息)}
}

2.1.2 raster

raster:栅格切片数据源(相比 vector 多了一个属性 tileSize)

"sources":{"raster-source": {"type": "raster", // 类型(必填)"url": "mapbox://mapbox.satellite" // TileJSON 的请求地址(可选)"tiles": [ // 用于指定一个或多个切片数据源的请求地址(可选,和 TileJSON 中的 tiles 属性一致)"http://a.example.com/tiles/{z}/{x}/{y}.pbf","http://b.example.com/tiles/{z}/{x}/{y}.pbf"],"bounds": [-180,-85.051129,180,85.051129], // 边界坐标点(可选,用于限定切片的显示范围,默认值为 [-180,-85.051129,180,85.051129])"scheme":"xyz", // 切片坐标系方案(可选,可选值为 xyz、tms,默认值为 xyz)"minzoom": 0, // 最小层级(可选,默认值为 0)"maxzoom": 22, // 最大层级(可选,默认值为 22)"attribution": "", // 属性信息(可选,用于地图展示时给用户看的一些信息)"tileSize": 256 // 切片的最小展示尺寸(可选,单位:像素,默认值为 512,即 1024/2)}	
}

2.1.3 raster-dem

raster-dem:栅格化的数字高程模型(相比 raster 多了一个属性 encoding)

"sources":{"raster-dem-source": {"type": "raster-dem", // 类型(必填)"url": "mapbox://mapbox.terrain-rgb" // TileJSON 的请求地址(可选)"tiles": [ // 用于指定一个或多个切片数据源的请求地址(可选,和 TileJSON 中的 tiles 属性一致)"http://a.example.com/tiles/{z}/{x}/{y}.pbf","http://b.example.com/tiles/{z}/{x}/{y}.pbf"],"bounds": [-180,-85.051129,180,85.051129], // 边界坐标点(可选,用于限定切片的显示范围,默认值为 [-180,-85.051129,180,85.051129])"scheme":"xyz", // 切片坐标系方案(可选,可选值为 xyz、tms,默认值为 xyz)"minzoom": 0, // 最小层级(可选,默认值为 0)"maxzoom": 22, // 最大层级(可选,默认值为 22)"attribution": "", // 属性信息(可选,用于地图展示时给用户看的一些信息)"tileSize": 256, // 切片的最小展示尺寸(可选,单位:像素,默认值为 512,即 1024/2)"encoding": "mapbox" // 编码(可选,可选值为 terrarium、mapbox,默认值为 mapbox)}
}

2.1.4 geojson

geojson: 数据源(数据必须通过 data 属性指定,data 属性值就是一个 GeoJSON 或者 GeoJSON 的请求地址)

"sources": {"geojson-source": {"type": "geojson", // 类型(必填)"data": { // 数据(可选,值必须为一个 GeoJSON 或者 GeoJSON 的请求地址)"type": "Feature","geometry": {"type": "Point","coordinates": [-77.0323, 38.9131]},"properties": {"title": "Mapbox DC","marker-symbol": "monument"}},// "data": "./lines.geojson","maxzoom": 22, // 最大层级(可选,默认值为 22)"attribution": "", // 属性信息(可选,用于地图展示时给用户看的一些信息)"buffer": 128, // 切片缓存区大小(可选,取值范围为 0 ~ 512,默认值为 128,如果取值为 512 则代表和切片大小一样)"tolerance": 0.375, // 简化力度(可选,值越大简化力度越强,几何顶点越少,加载速度越快,默认值为 0.375)"cluster": false, // 是否开启聚类(可选,用于将多个点聚类到一个个的群组,默认值为 false)"clusterRadius": 50, // 每个群组的的半径(可选,默认值为 50)"clusterMaxZoom": 12, // 每个群组的最大层级(大于指定的层级将不显示聚类的群组)"lineMetrics": false, // 是否计算线的距离度量(额,有点不能理解,需要 layer 指定 line-gradient)"generateId": false // 是否自动生成每个要素生成属性 id 的值}
}

2.1.6 image

image:图片数据源

"sources": {"image-source": {"type": "image", // 类型(必填)"url": "https://docs.mapbox.com/mapbox-gl-js/assets/radar.gif", // 图片的请求地址(必填)"coordinates": [ // 坐标点集合(必填,指定要显示图片的坐标点)[-80.425, 46.437],[-71.516, 46.437],[-71.516, 37.936],[-80.425, 37.936]]}
}

2.1.5 video

video:视频数据源

"sources": {"video-source": {"type": "video", // 类型(必填)"urls": [ // 一个或多个视频的请求地址(必填,指定多个是为了支持多种视频格式,按优先顺序排序) 			"https://static-assets.mapbox.com/mapbox-gl-js/drone.mp4", "https://static-assets.mapbox.com/mapbox-gl-js/drone.webm"],"coordinates": [ // 坐标点集合(必填,指定要显示视频的坐标点)[-80.425, 46.437],[-71.516, 46.437],[-71.516, 37.936],[-80.425, 37.936]]}
}

2.2 layers 属性

layers:图层集合(必填,包含了一系列图层 layer,这些图层指定了如何渲染数据源提供的数据)
每个图层 layer 都有 id(具有唯一性)和 type 属性,其中 type 属性指定了其具体的渲染类型:

  • fill:填充
  • line:线
  • circle:圆点
  • symbol:符号
  • background:背景
  • raster:栅格
  • heatmap:热力图
  • hillshade:坡面阴影
  • fill-extrusion:三维填充
"layers": []

2.2.1 fill

fill:填充(用于给多边形 polygon 进行填充和描边)

"layers": [{"id": "fill-id", // 唯一 id (必填)"type": "fill", // 类型(必填)"metadata": { // 元数据(可选,用于为 layer 附加任意的属性。为避免冲突,建议添加前缀,如 mapbox:)"mapbox:name": "test"},"source": "source-name", // 数据源的名称(除了 layer 的 type 为 background 外,source 必填)"source-layer": "source-layer-name", // 数据源的图层(只有数据源 source 的 type 为 vector 时,才能设置 source-layer,其他类型的不可以设置)"minzoom": 0, // 最小层级(可选,取值范围为 0 ~ 24。当 style 的 zoom 小于此 minzoom 时,layer 将被隐藏)"maxzoom": 24, // 最大层级(可选,取值范围为 0 ~ 24。当 style 的 zoom 大于此 maxzoom 时,layer 将被隐藏)"filter": [], // 过滤(可选,用特定的表达式过滤指定的数据源的要素。具体的表达式详见 expression)"layout": { // 布局类属性"visibility": "visible", // 可见性(可选,可选值为 none、visible,默认值为 visible)},"paint": { // 绘制类属性"fill-antialias": true, // 填充时是否反锯齿(可选,默认值为 true)"fill-opacity": 1, // 填充的不透明度(可选,取值范围为 0 ~ 1,默认值为 1)"fill-pattern": "", // 填充用的图案(可选,这里填写在 sprite 雪碧图中图标名称。为了图案能无缝填充,图标的高宽需要是 2 的倍数)"fill-color": "#000000", // 填充的颜色(可选,默认值为 #000000。如果设置了 fill-pattern,则 fill-color 将无效)"fill-outline-color": "#000000", // 描边的颜色(可选,默认和 fill-color 一致。如果设置了 fill-pattern,则 fill-outline-color 将无效。为了使用此属性,还需"fill-translate": [0, 0], // 填充的平移(可选,通过平移 [x, y] 达到一定的偏移量。默认值为 [0, 0],单位:像素。)"fill-translate-anchor": "map" // 平移的锚点,即相对的参考物(可选,可选值为 map、viewport,默认为 map)}}	
]

2.2.2 line

line:线(用于绘制成一条条线)

"layers": [{"id": "line-id", // 唯一 id (必填)"type": "line", // 类型(必填)"metadata": { // 元数据(可选,用于为 layer 附加任意的属性。为避免冲突,建议添加前缀,如 mapbox:)"mapbox:name": "test"},"source": "source-name", // 数据源的名称(除了 layer 的 type 为 background 外,source 必填)"source-layer": "source-layer-name", // 数据源的图层(只有数据源 source 的 type 为 vector 时,才能设置 source-layer,其他类型的不可以设置)"minzoom": 0, // 最小层级(可选,取值范围为 0 ~ 24。当 style 的 zoom 小于此 minzoom 时,layer 将被隐藏)"maxzoom": 24, // 最大层级(可选,取值范围为 0 ~ 24。当 style 的 zoom 大于此 maxzoom 时,layer 将被隐藏)"filter": [], // 过滤(可选,用特定的表达式过滤指定的数据源的要素。具体的表达式详见 expression)"layout": { // 布局类属性"visibility": "visible", // 可见性(可选,可选值为 none、visible,默认值为 visible)"line-cap": "butt", // 线末端的显示样式(可选,可选值为 butt、round、square,默认值为 butt)//	--- butt:方型末端(仅绘制到线的端点)//	--- round:圆型末端(以线宽的 1/2 为半径,以线的端点为圆心,绘制圆型端点,会超出线的端点)//	--- square:方型末端(以线宽的 1/2 长度超出线的端点)"line-join": "miter", // 线交叉时的显示样式(可选,可选值为 bevel、round、miter,默认值为 miter)//	--- bevel:方型交点(以线宽的 1/2 长度超出线的交点)//	--- round:圆型交点(以线宽的 1/2 为半径,以线的交点为圆心,绘制圆型交点,会超出线的交点)//	--- miter:尖型交点(以两线段的外沿相交,超出交点绘制)"line-miter-limit": 2, // 最大斜接长度(可选,用来将 miter 尖型交点自动转为 bevel 方型交点,默认值为 2。只有 line-join 为 miter 时,才需要设置此属"line-round-limit": 1.05, // 最小圆角半径(可选,用来将 round 圆型交点自动转为 miter 尖型交点,默认值为 1.05。只有 line-join 为 round 时,才需要},"paint": { // 绘制类属性"line-opacity": 1, // 线的不透明度(可选,取值范围为 0 ~ 1,默认值为 1)"line-pattern": "", // 线用的图案(可选,这里填写在 sprite 雪碧图中图标名称。为了图案能无缝填充,图标的高宽需要是 2 的倍数)"line-color": "#000000", // 线的颜色(可选,默认值为 #000000。如果设置了 line-pattern,则 line-color 将无效)"line-translate": [0, 0], // 线的平移(可选,通过平移 [x, y] 达到一定的偏移量。默认值为 [0, 0],单位:像素。)"line-translate-anchor": "map", // 线的平移锚点,即相对的参考物(可选,可选值为 map、viewport,默认为 map)"line-width": 1, // 线的宽度(可选,值 >= 0,默认值为 1,单位:像素)"line-gap-width": 0, // 线的外部间距宽度(可选,值 >= 0,默认值为 0,单位:像素。用来在线的外部再绘制一部分,此值表示内间距)"line-offset": 0, // 线的偏移(可选,默认值为 0,单位:像素。对于单线,则是向右的偏移量;对于多边形,正值为内缩 inset,负值为外突 outset)"line-blur": 0, // 线的模糊度(可选,值 >= 0,默认值为 0,单位:像素)"line-dasharray": [0, 0], // 虚线的破折号部分和间隔的长度(可选,默认值为 [0, 0]。如果设置了 line-pattern,则 line-dasharray 将无效)"line-gradient": "#000000", // 线的渐变色(可选。如果设置了 line-pattern 或 line-dasharray,则 line-gradient 将无效。只有数据源 source 的 type 为}}
]

2.2.3 circle

circle:圆点(用于绘制成一个个圆点)

"layers": [{"id": "circle-id", // 唯一 id (必填)"type": "circle", // 类型(必填)"metadata": { // 元数据(可选,用于为 layer 附加任意的属性。为避免冲突,建议添加前缀,如 mapbox:)"mapbox:name": "test"},"source": "source-name", // 数据源的名称(除了 layer 的 type 为 background 外,source 必填)"source-layer": "source-layer-name", // 数据源的图层(只有数据源 source 的 type 为 vector 时,才能设置 source-layer,其他类型的不可以设置)"minzoom": 0, // 最小层级(可选,取值范围为 0 ~ 24。当 style 的 zoom 小于此 minzoom 时,layer 将被隐藏)"maxzoom": 24, // 最大层级(可选,取值范围为 0 ~ 24。当 style 的 zoom 大于此 maxzoom 时,layer 将被隐藏)"filter": [], // 过滤(可选,用特定的表达式过滤指定的数据源的要素。具体的表达式详见 expression)"layout": { // 布局类属性"visibility": "visible", // 可见性(可选,可选值为 none、visible,默认值为 visible)},"paint": { // 绘制类属性"circle-opacity": 1, // 圆点的不透明度(可选,取值范围为 0 ~ 1,默认值为 1)"circle-radius": 5, // 圆点的半径(可选,值 >= 0,默认值为 5,单位:像素)"circle-color": "#000000", // 圆点的颜色(可选,默认值为 #000000)"circle-blur": 0, // 圆点的虚化(可选,默认值为 0。当值为 1 时,表示把圆虚化到只有圆心是不透明的)"circle-translate": [0, 0], // 圆点的平移(可选,通过平移 [x, y] 达到一定的偏移量。默认值为 [0, 0],单位:像素。)"circle-translate-anchor": "map", // 圆点的平移锚点,即相对的参考物(可选,可选值为 map、viewport,默认为 map)"circle-pitch-scale": "map", // 地图倾斜时圆点的缩放(可选,可选值为 map、viewport,默认为 map。值为 viewport 时,圆点不会缩放)"circle-pitch-alignment": "map", // 地图倾斜时圆点的对齐方式(可选,可选值为 map、viewport,默认为 map)"circle-stroke-width": 0, // 圆点的描边宽度(可选,值 >= 0,默认值为 0,单位:像素)"circle-stroke-color": "#000000", // 圆点的描边颜色(可选,默认值为 #000000)"circle-stroke-opacity": 1 // 圆点的描边不透明度(可选,取值范围为 0 ~ 1,默认值为 1)}}
] 

2.2.4 symbol

symbol:符号(用于绘制成一个个图标或者文本标签等)

"layers": [{"id": "symbol-id", // 唯一 id (必填)"type": "symbol", // 类型(必填)"metadata": { // 元数据(可选,用于为 layer 附加任意的属性。为避免冲突,建议添加前缀,如 mapbox:)"mapbox:name": "test"},"source": "source-name", // 数据源的名称(除了 layer 的 type 为 background 外,source 必填)"source-layer": "source-layer-name", // 数据源的图层(只有数据源 source 的 type 为 vector 时,才能设置 source-layer,其他类型的不可以设置)"minzoom": 0, // 最小层级(可选,取值范围为 0 ~ 24。当 style 的 zoom 小于此 minzoom 时,layer 将被隐藏)"maxzoom": 24, // 最大层级(可选,取值范围为 0 ~ 24。当 style 的 zoom 大于此 maxzoom 时,layer 将被隐藏)"filter": [], // 过滤(可选,用特定的表达式过滤指定的数据源的要素。具体的表达式详见 expression)"layout": { // 布局类属性"visibility": "visible", // 可见性(可选,可选值为 none、visible,默认值为 visible)"symbol-placement": "point", // 符号的位置(可选,可选值为 point、line、line-center,默认值为 point)//	--- point:符号在几何形状的点上//	--- line:符号在几何形状的线上(几何形状只能为 LineString 或 Polygon)//	--- line-center:符号在几何形状的线的中心点上(几何形状只能为 LineString 或 Polygon)"symbol-spacing": 250, // 符号之间的距离(可选,值 >= 1,默认值为 250,单位:像素。只有 symbol-placement 为 line 时才有效)"symbol-avoid-edges": false, // 是否避免边缘冲突(可选,默认值为 false。当为 true 时,符号不会超过切片的边缘)"symbol-sort-key": 1, // 排序的参考值(可选,无默认值。值越大,越在上方)"symbol-z-order": "auto", // z 轴上的顺序控制(可选,可选值为 auto、viewport-y、source,默认值为 auto)//	图标类属性(需要设置 icon-image)"icon-image": "", // 图标的图片(可选,这里填写在 sprite 雪碧图中图标名称)"icon-size": 1, // 图标的大小(可选,值 >= 0,默认值为 1。这里实际上是图标对应的原始图片的大小的缩放比例。值为 1 表示图标大小为原始图片的大"icon-padding": 2, // 图标的外边距(可选,值 >= 0,默认值为 2。可用于碰撞检测)"icon-offset": [0, 0], // 图标的偏移量(可选,默认值为 [0, 0])"icon-anchor": "center", // 图标与锚点的位置关系(可选,可选值为 center、left、right、top、bottom、top-left、top-right、bottom-left、bottom-right"icon-rotation": 0, // 图标的顺时针旋转角度(可选,默认值为 0,单位:角度)"icon-allow-overlap": false, // 是否允许图标重叠(可选,默认值为 false。当值为 true 时,图标即使和其他符号触碰也会显示)"icon-ignore-placement": false, // 是否忽略图标位置(可选,默认值为 false。当值为 true 时,其他符号即使与此图标触碰也会显示)"icon-optional": false, // 图标是否可不显示(可选,默认值为 false。当值为 true 时,如果图标与文本标签碰撞,则显示文本标签)"icon-text-fit": "none", // 图标与文本的大小适应关系(可选,可选值为 none、width、height、both,默认值为 none)//	--- none:图标按其本身的比例显示//	--- width:图标在 x 轴上缩放以适应文本的宽度//	--- height:图标在 y 轴上缩放以适应文本的高度//	--- both:图标在 x 和 y 轴上缩放以适应文本的宽高"icon-text-fit-padding": [0, 0, 0, 0], // 图标与文本的内边距(可选,默认值为 [0,0,0,0],单位:像素)"icon-keep-upright": false, // 当 icon-rotation-alignment 为 map,且 symbol-placement 为 line 或者 line-center 时,设置为 true 的话,可以避免图标"icon-rotation-alignment": "auto", // 地图旋转时图标的对齐方式(可选,可选值为 map、viewport、auto,默认值为 auto)//	--- map:当 symbol-placement 为 point 时,图标与地图的东西方向对齐;当 symbol-placement 为 line 时,图标的 x 轴和线对齐//	--- viewport:图标的 x 轴和视口的 x 轴对齐//	--- auto:当 symbol-placement 为 point 时,和 viewport 一致;当 symbol-placement 为 line 时,和 map 一致"icon-pitch-alignment": "auto", // 地图倾斜时图标的对齐方式(可选,可选值为 map、viewport、auto,默认值为 auto)//	--- map:图标的 x 轴与地图平面对齐//	--- viewport:图标的 x 轴和视口的 x 轴对齐//	--- auto:当 symbol-placement 为 point 时,和 viewport 一致;当 symbol-placement 为 line 时,和 map 一致//	文本类属性(需要指定 text-field)"text-rotation-alignment": "auto", // 与 icon-rotation-alignment 类似"text-pitch-alignment": "auto", // 与 icon-pitch-alignment 类似"text-field": "", // 文本所对应的字段(可选,默认值为 "")"text-font": ["Open Sans Regular","Arial Unicode MS Regular"], // 文本的字体集合(可选,默认值为 ["Open Sans Regular","Arial Unicode MS Regul"text-size": 16, // 文本的大小(可选,默认值为 16,单位:像素)"text-max-width": 10, // 文本的最大宽度,超过则折行(可选,默认值为 10,单位:ems)"text-line-height": 1.2, // 文本的行高(可选,默认值为 1.2,单位:ems)"text-letter-spacing": 0, // 文本的字符间距(可选,默认值为 0,单位:ems)"text-justify": "center", // 文本的水平对齐方式(可选,可选值为 auto、left、center、right。默认值为 center)"text-anchor": "center", // 文本与锚点的位置关系(可选,可选值为 center、left、right、top、bottom、top-left、top-right、bottom-left、bottom-right"text-variable-anchor": "center", // 与 text-anchor(优先级更高) 类似,有点不懂"text-max-angle": 45, // 当 symbol-placement 为 line 或 line-center 时,文本相邻字符的最大夹角,默认 45 度"text-rotate": 0, // 文本的顺时针旋转角度(可选,默认值为 0,单位:角度)"text-padding": 2, // 文本的外边距(可选,值 >= 0,默认值为 2。可用于碰撞检测)"text-keep-upright": false, // 当 icon-rotation-alignment 为 map,且 symbol-placement 为 line 或者 line-center 时,设置为 true 的话,可以避免文本上"text-transform": "none", // 文本大小写转换(可选,可选值为 none、uppercase、lowercase,默认值为 none)"text-offset": [0, 0], // 图标的偏移量(可选,默认值为 [0, 0])"text-radial-offset": 0, // 文本的径向偏移量,优先级比 text-offset 高"text-allow-overlap": false, // 是否允许文本重叠(可选,默认值为 false。当值为 true 时,文本即使和其他符号触碰也会显示)"text-ignore-placement": false, // 是否忽略文本位置(可选,默认值为 false。当值为 true 时,其他符号即使与此文本触碰也会显示)"text-optional": false // 文本是否可不显示(可选,默认值为 false。当值为 true 时,如果文本与图标碰撞,则显示图标)},"paint": { // 绘制类属性//	图标类属性(需要设置 icon-image)"icon-opacity": 1, // 图标的不透明度(可选,取值范围为 0 ~ 1,默认值为 1)"icon-color": "#000000", // 图标的颜色(可选,默认值为 #000000)"icon-halo-color": "rgba(0,0,0,0)", // 图标的光晕颜色(可选,默认值为 rgba(0,0,0,0))"icon-halo-width": 0, // 图标的光晕宽度(可选,值 >= 0,默认值为 0,单位:像素)"icon-halo-blur": 0, // 图标的光晕模糊宽度(可选,值 >= 0,默认值为 0,单位:像素)"icon-translate": [0, 0], // 图标的平移(可选,通过平移 [x, y] 达到一定的偏移量。默认值为 [0, 0],单位:像素。)"icon-translate-anchor": "map", // 图标的平移锚点,即相对的参考物(可选,可选值为 map、viewport,默认为 map)//	文本类属性(需要设置 text-field)"text-opacity": 1, // 文本的不透明度(可选,取值范围为 0 ~ 1,默认值为 1)"text-color": "#000000", // 文本的颜色(可选,默认值为 #000000)"text-halo-color": "rgba(0,0,0,0)", // 文本的光晕颜色(可选,默认值为 rgba(0,0,0,0))"text-halo-width": 0, // 文本的光晕宽度(可选,值 >= 0,默认值为 0,单位:像素)"text-halo-blur": 0, // 文本的光晕模糊宽度(可选,值 >= 0,默认值为 0,单位:像素)"text-translate": [0, 0], // 文本的平移(可选,通过平移 [x, y] 达到一定的偏移量。默认值为 [0, 0],单位:像素。)"text-translate-anchor": "map", // 文本的平移锚点,即相对的参考物(可选,可选值为 map、viewport,默认为 map)}}
]

2.2.5 background

background:背景(用于绘制成整个地图的背景或者图案)

"layers": [{"id": "background-id", // 唯一 id (必填)"type": "background", // 类型(必填)"metadata": { // 元数据(可选,用于为 layer 附加任意的属性。为避免冲突,建议添加前缀,如 mapbox:)"mapbox:name": "test"},"minzoom": 0, // 最小层级(可选,取值范围为 0 ~ 24。当 style 的 zoom 小于此 minzoom 时,layer 将被隐藏)"maxzoom": 24, // 最大层级(可选,取值范围为 0 ~ 24。当 style 的 zoom 大于此 maxzoom 时,layer 将被隐藏)"layout": { // 布局类属性"visibility": "visible", // 可见性(可选,可选值为 none、visible,默认值为 visible)},"paint": { // 绘制类属性"background-color": "#000000", // 背景颜色(可选,默认值为 #000000。如果设置了 background-pattern,则 background-color 将无效)"background-pattern": "", // 背景图案(可选,这里填写在 sprite 雪碧图中图标名称。为了背景图案能无缝填充,图标的高宽需要是 2 的倍数)"background-opacity": 1 // 背景不透明度(可选,取值范围为 0 ~ 1,默认值为 1)}}
]

2.2.6 raster

raster:栅格(用于绘制栅格地图,比如卫星影像)

"layers": [{"id": "raster-id", // 唯一 id (必填)"type": "raster", // 类型(必填)"metadata": { // 元数据(可选,用于为 layer 附加任意的属性。为避免冲突,建议添加前缀,如 mapbox:)"mapbox:name": "test"},"source": "source-name", // 数据源的名称(除了 layer 的 type 为 background 外,source 必填)"source-layer": "source-layer-name", // 数据源的图层(只有数据源 source 的 type 为 vector 时,才能设置 source-layer,其他类型的不可以设置)"minzoom": 0, // 最小层级(可选,取值范围为 0 ~ 24。当 style 的 zoom 小于此 minzoom 时,layer 将被隐藏)"maxzoom": 24, // 最大层级(可选,取值范围为 0 ~ 24。当 style 的 zoom 大于此 maxzoom 时,layer 将被隐藏)"filter": [], // 过滤(可选,用特定的表达式过滤指定的数据源的要素。具体的表达式详见 expression)"layout": { // 布局类属性"visibility": "visible", // 可见性(可选,可选值为 none、visible,默认值为 visible)},"paint": { // 绘制类属性"raster-opacity": 1, // 图片的不透明度(可选,取值范围为 0 ~ 1,默认值为 1)"raster-hue-rotate": 0, // 在色轮上旋转色相的角度(可选,默认值为 0,单位:角度)"raster-brightness-min": 0, // 图片的最小亮度(可选,取值范围为 0 ~ 1,默认值为 0)"raster-brightness-max": 1, // 图片的最大亮度(可选,取值范围为 0 ~ 1,默认值为 1)"raster-saturation": 0, // 图片的饱和度(可选,取值范围为 -1 ~ 1,默认值为 0)"raster-contrast": 0, // 图片的对比度(可选,取值范围为 -1 ~ 1,默认值为 0)"raster-resampling": "linear", // 采样方式(可选,可选值为 linear、nearest,默认值为 linear)"raster-fade-duration": 300 // 切换瓦片时的渐隐时间(可选,默认值为 300,单位:毫秒)}}
]

2.2.7 heatmap

heatmap:热力图(用于绘制成热力图的效果)

"layers": [{"id": "heatmap-id", // 唯一 id (必填)"type": "heatmap", // 类型(必填)"metadata": { // 元数据(可选,用于为 layer 附加任意的属性。为避免冲突,建议添加前缀,如 mapbox:)"mapbox:name": "test"},"source": "source-name", // 数据源的名称(除了 layer 的 type 为 background 外,source 必填)"source-layer": "source-layer-name", // 数据源的图层(只有数据源 source 的 type 为 vector 时,才能设置 source-layer,其他类型的不可以设置)"minzoom": 0, // 最小层级(可选,取值范围为 0 ~ 24。当 style 的 zoom 小于此 minzoom 时,layer 将被隐藏)"maxzoom": 24, // 最大层级(可选,取值范围为 0 ~ 24。当 style 的 zoom 大于此 maxzoom 时,layer 将被隐藏)"filter": [], // 过滤(可选,用特定的表达式过滤指定的数据源的要素。具体的表达式详见 expression)"layout": { // 布局类属性"visibility": "visible", // 可见性(可选,可选值为 none、visible,默认值为 visible)},"paint": { // 绘制类属性"heatmap-opacity": 1, // 热力图的不透明度(可选,取值范围为 0 ~ 1,默认值为 1)"heatmap-radius": 30, // 一个热力图点的影响半径(可选,值 >= 1,默认值为 30,单位:像素)"heatmap-weight": 1, // 一个热力图点的权重(可选,值 >= 0,默认值为 1)"heatmap-intensity": 1, // 热力图的强度,控制了所有的热力图点(可选,值 >= 0,默认值为 1)"heatmap-color": [ // 热力图的颜色变化(可选,默认值如下)"interpolate", ["linear"], ["heatmap-density"],0, "rgba(0, 0, 255, 0)",0.1, "royalblue",0.3, "cyan",0.5, "lime",0.7, "yellow",1, "red"]}}
]

2.2.8 hillshade

hillshade:坡面阴影(基于 DEM 数字高程模型进行坡面阴影的可视化渲染)

"layers": [{"id": "hillshade-id", // 唯一 id (必填)"type": "hillshade", // 类型(必填)"metadata": { // 元数据(可选,用于为 layer 附加任意的属性。为避免冲突,建议添加前缀,如 mapbox:)"mapbox:name": "test"},"source": "source-name", // 数据源的名称(除了 layer 的 type 为 background 外,source 必填)"source-layer": "source-layer-name", // 数据源的图层(只有数据源 source 的 type 为 vector 时,才能设置 source-layer,其他类型的不可以设置)"minzoom": 0, // 最小层级(可选,取值范围为 0 ~ 24。当 style 的 zoom 小于此 minzoom 时,layer 将被隐藏)"maxzoom": 24, // 最大层级(可选,取值范围为 0 ~ 24。当 style 的 zoom 大于此 maxzoom 时,layer 将被隐藏)"filter": [], // 过滤(可选,用特定的表达式过滤指定的数据源的要素。具体的表达式详见 expression)"layout": { // 布局类属性"visibility": "visible", // 可见性(可选,可选值为 none、visible,默认值为 visible)},"paint": { // 绘制类属性"hillshade-illumination-direction": 335, // 光照的方向(可选,取值范围为 0 ~ 359,默认值为 335,单位:角度)"hillshade-illumination-anchor": "viewport", // 光照的锚点(可选,可选值为 map、viewport,默认值为 viewport)"hillshade-exaggeration": 0.5, // 阴影的强度(可选,取值范围为 0 ~ 1,默认值为 0.5)"hillshade-shadow-color": "#000000", // 阴影的颜色(可选,默认值为 #000000)"hillshade-highlight-color": "#ffffff", // 光照部分的颜色(可选,默认值为 #ffffff)"hillshade-accent-color": "#000000" // 用于强调地形的颜色(可选,默认值为 #000000)}}
]

2.2.9 fill-extrusion

fill-extrusion:三维填充(用于给三维多边形进行填充和描边)

"layers": [{"id": "fill-extrusion-id", // 唯一 id (必填)"type": "fill-extrusion", // 类型(必填)"metadata": { // 元数据(可选,用于为 layer 附加任意的属性。为避免冲突,建议添加前缀,如 mapbox:)"mapbox:name": "test"},"source": "source-name", // 数据源的名称(除了 layer 的 type 为 background 外,source 必填)"source-layer": "source-layer-name", // 数据源的图层(只有数据源 source 的 type 为 vector 时,才能设置 source-layer,其他类型的不可以设置)"minzoom": 0, // 最小层级(可选,取值范围为 0 ~ 24。当 style 的 zoom 小于此 minzoom 时,layer 将被隐藏)"maxzoom": 24, // 最大层级(可选,取值范围为 0 ~ 24。当 style 的 zoom 大于此 maxzoom 时,layer 将被隐藏)"filter": [], // 过滤(可选,用特定的表达式过滤指定的数据源的要素。具体的表达式详见 expression)"layout": { // 布局类属性"visibility": "visible", // 可见性(可选,可选值为 none、visible,默认值为 visible)},"paint": { // 绘制类属性"fill-extrusion-opacity": 1, // 三维填充的不透明度(可选,取值范围为 0 ~ 1,默认值为 1)"fill-extrusion-pattern": "", // 三维填充的图案(可选,这里填写在 sprite 雪碧图中图标名称。为了图案能无缝填充,图标的高宽需要是 2 的倍数)"fill-extrusion-color": "#000000", // 三维填充的颜色(可选,默认值为 #000000)"fill-extrusion-translate": [0, 0], // 三维填充的平移(可选,通过平移 [x, y] 达到一定的偏移量。默认值为 [0, 0],单位:像素。)"fill-extrusion-translate-anchor": "map", // 平移的锚点,即相对的参考物(可选,可选值为 map、viewport,默认为 map)"fill-extrusion-height": 0, // 三维填充的高度(可选,值 >= 0,默认值为 0,单位:米)"fill-extrusion-base": 0, // 三维填充的底部高度(可选,值 >= 0,默认值为 0,单位:米。值必须小于等于 fill-extrusion-height)"fill-extrusion-vertical-gradient": true, // 是否开启垂直渐变(可选,默认值为 true)}}
]

三、🍀总结

当前style样式基于mapbox V2.* 版本的, V3.* mapbox新增了很多特性,后面持续更新。感谢支持~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/505536.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

551 灌溉

常规解法&#xff1a; #include<bits/stdc.h> using namespace std; int n,m,k,t; const int N105; bool a[N][N],b[N][N]; int cnt; //设置滚动数组来存贮当前和下一状态的条件 //处理传播扩散问题非常有效int main() {cin>>n>>m>>t;for(int i1;i&l…

jenkins入门10--自动化构建

build periodically&#xff1a;设定类似cron周期性时间触发构建 * * * * * (五颗星&#xff0c;中间用空格隔开&#xff09; 第一颗表示分钟&#xff0c;取值0~59 第二颗表示小时&#xff0c;取值0~23 第三颗表示一个月的第几天&#xff0c;取值1~31 第四颗表示第几月&#xf…

[0405].第05节:搭建Redis主从架构

Redis学习大纲 一、3主3从的集群配置&#xff1a; 1.1.集群规划 1.分片集群需要的节点数量较多&#xff0c;这里我们搭建一个最小的分片集群&#xff0c;包含3个master节点&#xff0c;每个master包含一个slave节点&#xff0c;结构如下&#xff1a; 2.每组是一主一从&#x…

新兴的开源 AI Agent 智能体全景技术栈

新兴的开源 AI Agent 智能体全景技术栈 LLMs&#xff1a;开源大模型嵌入模型&#xff1a;开源嵌入模型模型的访问和部署&#xff1a;Ollama数据存储和检索&#xff1a;PostgreSQL, pgvector 和 pgai后端&#xff1a;FastAPI前端&#xff1a;NextJS缺失的一环&#xff1a;评估和…

详细分析 Git 分支重命名与同步操作

目录 前言1. 场景2. 扩展知识 前言 以下小知识点作为讲解介绍&#xff0c;文章较短&#xff0c;作为科普使用 &#x1f91f; 找工作&#xff0c;来万码优才&#xff1a;&#x1f449; #小程序://万码优才/r6rqmzDaXpYkJZF 1. 场景 示例场景&#xff1a;决定将默认分支从 main…

vs2022开发.net窗体应用开发环境安装配置以及程序发布详细教程

文章目录 一、安装visual studio1.1推荐win10操作系统1.2推荐vs20221.3选择工作负载 二、新建基于.net的winform应用程序2.1为什么要.net 2.2 新建.net窗体应用2.2.1 选择Window窗体应用2.2.2 .net窗体对比framework窗体 三、发布.net应用 一、安装visual studio 1.1推荐win10…

Python基于YOLOv8和OpenCV实现车道线和车辆检测

使用YOLOv8&#xff08;You Only Look Once&#xff09;和OpenCV实现车道线和车辆检测&#xff0c;目标是创建一个可以检测道路上的车道并识别车辆的系统&#xff0c;并估计它们与摄像头的距离。该项目结合了计算机视觉技术和深度学习物体检测。 1、系统主要功能 车道检测&am…

详解Sonar与Jenkins 的集成使用!

本文阅读前提 本文假设读者熟悉Jenkins和SonarQube的基础操作。 核心实现功能 Jenkins中运行的job来调用SonarScanner&#xff0c;最后可实现测试结果与SonarQube中同步查看。 Jenkins中安装Sonar相关插件 配置Sonarqube Dashboard>Manage Jenkins>Systems 指定son…

tdengine数据库使用java连接

1 首先给你的项目添加依赖 <dependency> <groupId>com.taosdata.jdbc</groupId> <artifactId>taos-jdbcdriver</artifactId> <version>3.4.0</version> <!-- 表示依赖不会传递 --> </dependency> 注意&am…

vue3+ts+element-plus 对话框el-dialog设置圆角

对话框el-dialog设置圆角&#xff0c;实现的需求效果&#xff1a; 目前只能通过行内样式&#xff08;style"border-radius: 20px"&#xff09;来实现圆角效果&#xff1a;

Taro+Vue实现图片裁剪组件

cropper-image-taro-vue3 组件库 介绍 cropper-image-taro-vue3 是一个基于 Vue 3 和 Taro 开发的裁剪工具组件&#xff0c;支持图片裁剪、裁剪框拖动、缩放和输出裁剪后的图片。该组件适用于 Vue 3 和 Taro 环境&#xff0c;可以在网页、小程序等平台中使用。 源码 https:…

STL——二叉搜索树

目录 二叉搜索树的概念 ⼆叉搜索树的性能分析 ⼆叉搜索树的插⼊ ⼆叉搜索树的查找 ⼆叉搜索树的删除 中序遍历结果为升序序列 二叉搜索树的概念 ⼆叉搜索树⼜称⼆叉排序树&#xff0c;它或者是⼀棵空树&#xff0c;或者是具有以下性质的⼆叉树 • 若它的左⼦树不为空&#…

网络-ping包分析

-a&#xff1a;使 ping 在收到响应时发出声音&#xff08;适用于某些操作系统&#xff09;。-b&#xff1a;允许向广播地址发送 ping。-c count&#xff1a;指定发送的 ping 请求的数量。例如&#xff0c;ping -c 5 google.com 只发送 5 个请求。-i interval&#xff1a;指定两…

工厂管理中 BOM(物料清单)

工厂管理中 BOM&#xff08;物料清单&#xff09;的一些优点&#xff1a; 1. 提高生产计划准确性 - 准确反映产品所需的物料及数量&#xff0c;为生产计划提供可靠依据&#xff0c;减少因物料估算错误导致的生产延误。 2. 优化成本控制 - 有助于精确计算产品成本&…

uniapp实现在card卡片组件内为图片添加长按保存、识别二维码等功能

在原card组件的cover属性添加图片的话&#xff0c;无法在图片上面绑定 show-menu-by-longpress"true"属性&#xff0c;通过将图片自定义添加可使用该属性。 代码&#xff1a; <uni-card title"标题" padding"10px 0" :thumbnail"avata…

L1G5000 XTuner 微调个人小助手认知

使用 XTuner 微调 InternLM2-Chat-7B 实现自己的小助手认知 1 环境配置与数据准备步骤 0. 使用 conda 先构建一个 Python-3.10 的虚拟环境步骤 1. 安装 XTuner 修改提供的数据步骤 0. 创建一个新的文件夹用于存储微调数据步骤 1. 创建修改脚本步骤 2. 执行脚本步骤 3. 查看数据…

Spring——自动装配

假设一个场景&#xff1a; 一个人&#xff08;Person&#xff09;有一条狗&#xff08;Dog&#xff09;和一只猫(Cat)&#xff0c;狗和猫都会叫&#xff0c;狗叫是“汪汪”&#xff0c;猫叫是“喵喵”&#xff0c;同时人还有一个自己的名字。 将上述场景 抽象出三个实体类&…

国产信创实践(国能磐石服务器操作系统CEOS +东方通TongHttpServer)

替换介绍&#xff1a; 国能磐石服务器操作系统CEOS 对标 Linux 服务器操作系统&#xff08;Ubuntu, CentOS&#xff09; 东方通TongHttpServer 对标 Nginx 负载均衡Web服务器 第一步&#xff1a; 服务器安装CEOS映像文件&#xff0c;可直接安装&#xff0c;本文采用使用VMware …

人工智能与物联网:智慧城市的未来

引言 清晨6点&#xff0c;智能闹钟根据你的睡眠状态和天气情况&#xff0c;自动调整叫醒时间&#xff1b;窗帘缓缓打开&#xff0c;阳光洒满房间&#xff1b;厨房里的咖啡机已经为你准备好热饮&#xff0c;而无人驾驶公交车正按时抵达楼下站点。这不是科幻电影的场景&#xff…

基于 Python 自动化接口测试(踩坑与实践)

文档&#xff1a;基于 Python 的自动化接口测试 目录 背景问题描述与解决思路核心代码修改点及其详细解释最终测试结果后续优化建议 1. 问题背景 本项目旨在使用 Python 模拟浏览器的请求行为&#xff0c;测试文章分页接口的可用性。测试目标接口如下&#xff1a; bashcoder…