最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

mapbox-gl:圖層過濾顯示

2022-06-21 09:02 作者:地理信息技術雜談  | 我要投稿

在mapbox-gl中加載圖層時,要控制顯示和隱藏其中的某些元素,需要使用mapbox-gl的圖層過濾接口。
每種類型圖層的layout中有visibility屬性,但是這個在api文檔中,只支持基本函數,達不到控制圖層中特定元素顯示和隱藏的功能,只能控制當前圖層全部元素的顯示和隱藏。
map.setLayoutProperty('圖層id', 'visibility','枚舉屬性');

mapbox-gl圖層過濾有單獨的api說明setFilter:
https://docs.mapbox.com/mapbox-gl-js/api/map/#map#setfilter根據圖層中的數據屬性,控制圖層my-layer中名稱為name的元素顯示:
map.setFilter('my-layer', ['==', ['get', 'name'], 'name']);

如要控制多個元素的顯示和隱藏,可以使用多條件控制語句,示例中是顯示名稱不是name1、name2的其他元素:

map.setFilter('my-layer', [?"all",? ["!=", ["get", "name"], "name1"], ["!=", ["get", "name"], "name2"]?]);

mapbox-gl的表達式語句參照官方說明文檔:
https://docs.mapbox.com/mapbox-gl-js/style-spec/expressions/圖層過濾還能控制數據源中的空間類型,在mapbox-gl中加載的一個geosjon數據源中包含多種幾個空間類型,如point、linestring和polygon,使用過濾語句,可以在加載圖層時,設置加載某一類型的數據,寫法如下:

map.addLayer({

? ? ?id: 'measure-points',

? ? ? ?type: 'circle',

? ? ? ? source: 'geojson',

? ? ? ? paint: {

? ? ? ? 'circle-radius': 5,

? ? ? ? 'circle-color': '#000'

? ? ? ? ?},

?? ? ??//加載點數據源

? ? ? ?filter: ['in', '$type', 'Point']

? ? ?});

mapbox-gl提供的圖層方式,還是能夠很方便的控制圖層元素的操作,更多使用的方式參見官方的API文檔。

參考文檔:

https://docs.mapbox.com/mapbox-gl-js/example/measure/

https://docs.mapbox.com/mapbox-gl-js/style-spec/expressions/

https://docs.mapbox.com/mapbox-gl-js/style-spec/layers/


mapbox-gl:圖層過濾顯示的評論 (共 條)

分享到微博請遵守國家法律
永平县| 天峨县| 玉田县| 岗巴县| 白河县| 泰来县| 张家界市| 常州市| 丰镇市| 嫩江县| 清徐县| 巴彦淖尔市| 曲周县| 乳源| 榆社县| 昌图县| 临高县| 城固县| 香港 | 淄博市| 壶关县| 淮安市| 高陵县| 自治县| 昆明市| 静海县| 东海县| 永顺县| 杂多县| 永州市| 陈巴尔虎旗| 余干县| 台州市| 白朗县| 平塘县| 屏东市| 东乌珠穆沁旗| 开封市| 台江县| 措美县| 辽源市|