首頁 / 浏覽問題 / WebGIS / 問題詳情
如何實現 supermap online的(de) 部分功能
20EXP 2025年05月08日

1、選擇模版改變樣式,(我們項目中是(shì)先發布圖層,然後再在(zài)前端修改樣式,比如點數據在(zài)發布rest的(de)圖層的(de)時(shí)候沒有樣式,想在(zài)前端選擇模版比方熱力圖模版,修改樣式後,保存到(dào)rest服務中)

2、修改比例尺,以(yǐ)控制圖層在(zài)某比例尺範圍内的(de)顯示。openlayer或leaflet前端如何顯示獲取比例尺,當前獲取的(de)比例吃又如何與全球比例尺對應?如何實現類似supermap online的(de)可見比例尺範圍的(de)控制?

1個(gè)回答

1、這(zhè)個(gè)需要(yào / yāo)前端自己寫代碼實現,前端動态配置好樣式以(yǐ)後,保存到(dào)後端,後續需要(yào / yāo)時(shí)再取出(chū)來(lái)。樣式文件格式可以(yǐ)用iDesktopX導出(chū)圖層風格模版做參考

2、如果圖層自定義了(le/liǎo)坐标系,可以(yǐ)從map.options中獲取到(dào)scale,如果沒有自定義,可以(yǐ)從iServer服務本身的(de)xml中獲取不(bù)同層級對應的(de)比例尺

1,191EXP 2025年05月08日
“修改比例尺,以(yǐ)控制圖層在(zài)某比例尺範圍内的(de)顯示。openlayer或leaflet前端如何顯示獲取比例尺,當前獲取的(de)比例吃又如何與全球比例尺對應?如何實現類似supermap online的(de)可見比例尺範圍的(de)控制?”這(zhè)個(gè)實現思路是(shì)怎樣的(de)呢?獲取比例尺,現在(zài)前端通過監聽mapzoom控制在(zài)比例尺範圍的(de)顯示隐藏呢?還是(shì)直接在(zài)後端修改對應layer的(de)     layer.setMaxVisibleScale(double value),       layer.setMinVisibleScale(double value)呢?

控制顯示範圍,像Leaflet,可以(yǐ)在(zài)添加地(dì / de)圖時(shí)就(jiù)設置resolutions(https://iclient.supermap.io/examples/leaflet/editor.html#WMTSLayer),這(zhè)樣zoom和(hé / huò)scale就(jiù)是(shì)一(yī / yì /yí)一(yī / yì /yí)對應的(de),設置圖層的(de)minZoom和(hé / huò)maxZoom就(jiù)可以(yǐ)設置map可見範圍

如果要(yào / yāo)控制圖層的(de)可見範圍也(yě)是(shì)同樣的(de),layer可以(yǐ)設置minZoom和(hé / huò)maxZoom,https://leafletjs.com/reference.html#tilelayer

...