Class: MapboxStyles

ol.supermap.MapboxStyles

Mapbox 矢量瓦片风格。

Notice

该功能依赖 ol-mapbox-style 插件,请确认引入该插件。

<script type="text/javascript" src="https://rawgit.com/boundlessgeo/ol-mapbox-style/v2.11.2/dist/olms.js"></script>

new ol.supermap.MapboxStyles(options)

openlayers/overlay/vectortile/MapboxStyles.js, line 14
Name Type Description
options Object

初始化参数。

Name Type Description
url string | undefined 可选

iServer UGCV5(MVT) 地图服务地址,例如'http://localhost:8090/iserver/services/map-mvt-test/rest/maps/test',与options.style互斥,优先级低于options.style。

style Object | undefined 可选

Mapbox style 对象。与 options.url 互斥,优先级高于 options.url。

resolutions Array.<number> 可选

地图分辨率数组,用于映射 zoom 值。通常情況与地图的 ol.View 的分辨率一致。
默认值为:[78271.51696402048,39135.75848201024, 19567.87924100512,9783.93962050256,4891.96981025128,2445.98490512564, 1222.99245256282,611.49622628141,305.748113140705,152.8740565703525, 76.43702828517625,38.21851414258813,19.109257071294063,9.554628535647032, 4.777314267823516,2.388657133911758,1.194328566955879,0.5971642834779395, 0.29858214173896974,0.14929107086948487,0.07464553543474244]。

source string | Array.<string> 可选

Mapbox Style 'source'的 key 值或者 'layer' 的 ID 数组。 当配置 'source' 的 key 值时,source 为该值的 layer 会被加载; 当配置为 'layer' 的 ID 数组时,指定的 layer 会被加载,注意被指定的 layer 需要有相同的 source。

map ol.Map 可选

Openlayers 地图对象,仅用于填充 Mapbox Style 中的 background,如没有配置 background 可不设置该参数。

Example
var mbStyle = new ol.supermap.MapboxStyles({
            url: url,
            source: 'California',
            resolutions: [78271.51696402048,39135.75848201024, 19567.87924100512,9783.93962050256,4891.96981025128,2445.98490512564]
    })
    mbStyle.on('styleLoaded', function () {
           var vectorLayer = new ol.layer.VectorTile({
                //设置避让参数
                declutter: true,
                source: new ol.source.VectorTileSuperMapRest({
                    url: url,
                    format: new ol.format.MVT({
                        featureClass: ol.Feature
                    }),
                    tileType: 'ScaleXY'
                }),
                style: mbStyle.featureStyleFuntion
            });
            map.addLayer(vectorLayer);
        })

Events

styleloaded

openlayers/overlay/vectortile/MapboxStyles.js, line 190

样式加载成功后触发。

Methods

getStyleFunction(){ol.FeatureStyleFunction}

openlayers/overlay/vectortile/MapboxStyles.js, line 104

获取 ol.FeatureStyleFunction。

Returns:
Type Description
ol.FeatureStyleFunction 返回 ol.FeatureStyleFunction。

getStylesBySourceLayer(sourceLayer)

openlayers/overlay/vectortile/MapboxStyles.js, line 112
Name Type Description
sourceLayer string

数据图层名称。